Xem bây giờ hướng dẫn này có một khóa học video liên quan được tạo bởi nhóm Python thực sự. Xem nó cùng với hướng dẫn bằng văn bản để làm sâu sắc thêm sự hiểu biết của bạn: Cấu trúc với Pandas: Python Dữ liệu Basicization This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Plot With Pandas: Python Data Visualization Basics
Cho dù bạn chỉ biết một bộ dữ liệu hay chuẩn bị xuất bản các phát hiện của bạn, trực quan hóa là một công cụ thiết yếu. Thư viện phân tích dữ liệu phổ biến của Python, Pandas, cung cấp một số tùy chọn khác nhau để trực quan hóa dữ liệu của bạn với
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6. Ngay cả khi bạn ở đầu hành trình Pandas của mình, bạn sẽ sớm tạo ra các lô cơ bản sẽ mang lại những hiểu biết có giá trị về dữ liệu của bạn.visualization is an essential tool. Python’s
popular data analysis library, pandas, provides several different options for visualizing your data with In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6. Even if you’re at the beginning of your pandas journey, you’ll soon be creating basic plots that will yield valuable insights into your data.Trong hướng dẫn này, bạn sẽ học:
- Các loại âm mưu khác nhau của gấu trúc là gì và khi nào nên sử dụng chúngpandas plots are and when to use them
- Cách nhận tổng quan về bộ dữ liệu của bạn với biểu đồhistogram
- Cách khám phá mối tương quan với một âm mưu phân tánscatter plot
- Cách phân tích các danh mục khác nhau và tỷ lệ của chúngcategories and their ratios
Thiết lập môi trường của bạn
Bạn có thể làm theo tốt nhất cùng với mã trong hướng dẫn này trong một cuốn sổ Jupyter. Bằng cách này, bạn sẽ ngay lập tức nhìn thấy âm mưu của mình và có thể chơi xung quanh với họ.
Bạn cũng sẽ cần một môi trường Python hoạt động bao gồm cả gấu trúc. Nếu bạn không có một cái nào, thì bạn có một số tùy chọn:
Nếu bạn có nhiều kế hoạch đầy tham vọng hơn, thì hãy tải xuống bản phân phối Anaconda. Nó rất lớn [khoảng 500 MB], nhưng bạn sẽ được trang bị cho hầu hết các công việc khoa học dữ liệu.
Nếu bạn thích thiết lập tối giản, thì hãy xem phần về cài đặt miniconda trong việc thiết lập Python để học máy trên Windows.
Nếu bạn muốn gắn bó với
7, thì hãy cài đặt các thư viện được thảo luận trong hướng dẫn này vớiIn [5]: pd.set_option["display.max.columns", None] In [6]: df.head[]
8. Bạn cũng có thể lấy Notebook Jupyter vớiIn [5]: pd.set_option["display.max.columns", None] In [6]: df.head[]
9.In [5]: pd.set_option["display.max.columns", None] In [6]: df.head[]
Nếu bạn không muốn thực hiện bất kỳ thiết lập nào, thì hãy làm theo trong một thử nghiệm Notebook Jupyter trực tuyến.
Khi môi trường của bạn được thiết lập, bạn đã sẵn sàng tải xuống một bộ dữ liệu. Trong hướng dẫn này, bạn sẽ phân tích dữ liệu về các chuyên ngành đại học có nguồn gốc từ Khảo sát Cộng đồng Hoa Kỳ 2010 Mẫu Microdata sử dụng công cộng. Nó đóng vai trò là cơ sở cho hướng dẫn kinh tế để chọn một chuyên ngành đại học đặc trưng trên trang web FiveThentyEight.
Đầu tiên, tải xuống dữ liệu bằng cách chuyển URL tải xuống cho
In [7]: %matplotlib
Using matplotlib backend: MacOSX
0:>>>
In [1]: import pandas as pd
In [2]: download_url = [
...: "//raw.githubusercontent.com/fivethirtyeight/"
...: "data/master/college-majors/recent-grads.csv"
...: ]
In [3]: df = pd.read_csv[download_url]
In [4]: type[df]
Out[4]: pandas.core.frame.DataFrame
Bằng cách gọi
In [7]: %matplotlib
Using matplotlib backend: MacOSX
1, bạn tạo một khung dữ liệu, đó là cấu trúc dữ liệu chính được sử dụng trong gấu trúc.Bây giờ bạn có một khung dữ liệu, bạn có thể xem dữ liệu. Đầu tiên, bạn nên định cấu hình tùy chọn
In [7]: %matplotlib
Using matplotlib backend: MacOSX
2 để đảm bảo gấu trúc không ẩn giấu bất kỳ cột nào. Sau đó, bạn có thể xem một vài hàng dữ liệu đầu tiên với In [7]: %matplotlib
Using matplotlib backend: MacOSX
3:
>>>
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
Bằng cách gọi
In [7]: %matplotlib
Using matplotlib backend: MacOSX
1, bạn tạo một khung dữ liệu, đó là cấu trúc dữ liệu chính được sử dụng trong gấu trúc.Bây giờ bạn có một khung dữ liệu, bạn có thể xem dữ liệu. Đầu tiên, bạn nên định cấu hình tùy chọn
In [7]: %matplotlib
Using matplotlib backend: MacOSX
2 để đảm bảo gấu trúc không ẩn giấu bất kỳ cột nào. Sau đó, bạn có thể xem một vài hàng dữ liệu đầu tiên với In [7]: %matplotlib
Using matplotlib backend: MacOSX
3:
Bạn chỉ hiển thị năm hàng đầu tiên của DataFrame In [7]: %matplotlib
Using matplotlib backend: MacOSX
4 bằng cách sử dụng In [7]: %matplotlib
Using matplotlib backend: MacOSX
3. Đầu ra của bạn sẽ trông như thế này:
In [7]: %matplotlib
Using matplotlib backend: MacOSX
In [7]: %matplotlib
Using matplotlib backend: MacOSX
Số lượng hàng mặc định được hiển thị bởi
In [7]: %matplotlib
Using matplotlib backend: MacOSX
3 là năm, nhưng bạn có thể chỉ định bất kỳ số lượng hàng nào dưới dạng đối số. Ví dụ: để hiển thị mười hàng đầu tiên, bạn sẽ sử dụng In [7]: %matplotlib
Using matplotlib backend: MacOSX
7.- Tạo cốt truyện Pandas đầu tiên của bạn is the median earnings of full-time, year-round workers.
- Bộ dữ liệu của bạn chứa một số cột liên quan đến thu nhập của sinh viên tốt nghiệp trong mỗi chuyên ngành: is the 25th percentile of earnings.
8 là thu nhập trung bình của những người lao động toàn thời gian, quanh năm. is the 75th percentile of earnings.In [7]: %matplotlib Using matplotlib backend: MacOSX
9 là phần trăm thứ 25 của thu nhập. is the major’s rank by median earnings.In [7]: %matplotlib Using matplotlib backend: MacOSX
In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
0 là phần trăm thứ 75 của thu nhập.>>>
In [7]: %matplotlib
Using matplotlib backend: MacOSX
Bằng cách gọi
In [7]: %matplotlib
Using matplotlib backend: MacOSX
1, bạn tạo một khung dữ liệu, đó là cấu trúc dữ liệu chính được sử dụng trong gấu trúc.Bây giờ bạn có một khung dữ liệu, bạn có thể xem dữ liệu. Đầu tiên, bạn nên định cấu hình tùy chọn
In [7]: %matplotlib
Using matplotlib backend: MacOSX
2 để đảm bảo gấu trúc không ẩn giấu bất kỳ cột nào. Sau đó, bạn có thể xem một vài hàng dữ liệu đầu tiên với In [7]: %matplotlib
Using matplotlib backend: MacOSX
3:>>>
In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
Bằng cách gọi
In [7]: %matplotlib
Using matplotlib backend: MacOSX
1, bạn tạo một khung dữ liệu, đó là cấu trúc dữ liệu chính được sử dụng trong gấu trúc.Bây giờ bạn có một khung dữ liệu, bạn có thể xem dữ liệu. Đầu tiên, bạn nên định cấu hình tùy chọn
In [7]: %matplotlib
Using matplotlib backend: MacOSX
2 để đảm bảo gấu trúc không ẩn giấu bất kỳ cột nào. Sau đó, bạn có thể xem một vài hàng dữ liệu đầu tiên với In [7]: %matplotlib
Using matplotlib backend: MacOSX
3:Bạn chỉ hiển thị năm hàng đầu tiên của DataFrame
In [7]: %matplotlib
Using matplotlib backend: MacOSX
4 bằng cách sử dụng In [7]: %matplotlib
Using matplotlib backend: MacOSX
3. Đầu ra của bạn sẽ trông như thế này:Số lượng hàng mặc định được hiển thị bởi
3 là năm, nhưng bạn có thể chỉ định bất kỳ số lượng hàng nào dưới dạng đối số. Ví dụ: để hiển thị mười hàng đầu tiên, bạn sẽ sử dụngIn [7]: %matplotlib Using matplotlib backend: MacOSX
7.In [7]: %matplotlib Using matplotlib backend: MacOSX
Tạo cốt truyện Pandas đầu tiên của bạn
Bộ dữ liệu của bạn chứa một số cột liên quan đến thu nhập của sinh viên tốt nghiệp trong mỗi chuyên ngành:
In [7]: %matplotlib
Using matplotlib backend: MacOSX
8 là thu nhập trung bình của những người lao động toàn thời gian, quanh năm.In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6 có một số tham số tùy chọn. Đáng chú ý nhất, tham số In [9]: import matplotlib.pyplot as plt
In [10]: plt.plot[df["Rank"], df["P75th"]]
Out[10]: []
1 chấp nhận mười một giá trị chuỗi khác nhau và xác định loại cốt truyện mà bạn sẽ tạo ra:
2 là cho các lô diện tích. is for area plots.In [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
3 là cho biểu đồ thanh dọc. is for vertical bar charts.In [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
4 là cho biểu đồ thanh ngang. is for horizontal bar charts.In [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
5 là cho các ô hộp. is for box plots.In [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
6 là cho các lô hexbin. is for hexbin plots.In [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
7 là cho biểu đồ. is for histograms.In [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
8 dành cho biểu đồ ước tính mật độ hạt nhân. is for kernel density estimate charts.In [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
9 là bí danh choIn [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
8. is an alias forIn [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
8.In [9]: import matplotlib.pyplot as plt In [10]: plt.plot[df["Rank"], df["P75th"]] Out[10]: []
1 là cho đồ thị dòng. is for line graphs.In [11]: df.plot[x="Rank", y="P75th"] Out[11]:
2 là cho biểu đồ hình tròn. is for pie charts.In [11]: df.plot[x="Rank", y="P75th"] Out[11]:
3 là cho các lô phân tán. is for scatter plots.In [11]: df.plot[x="Rank", y="P75th"] Out[11]:
Giá trị mặc định là
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
1. Biểu đồ dòng, giống như bản đồ bạn đã tạo ở trên, cung cấp một cái nhìn tổng quan tốt về dữ liệu của bạn. Bạn có thể sử dụng chúng để phát hiện xu hướng chung. Họ hiếm khi cung cấp cái nhìn sâu sắc tinh vi, nhưng họ có thể cung cấp cho bạn manh mối về nơi để phóng to.Nếu bạn không cung cấp một tham số cho
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6, thì nó sẽ tạo một biểu đồ dòng với chỉ mục trên trục x và tất cả các cột số trên trục y. Mặc dù đây là một mặc định hữu ích cho các bộ dữ liệu chỉ có một vài cột, đối với bộ dữ liệu đại học Majors và một số cột số của nó, nó trông giống như một mớ hỗn độn.Bây giờ, bạn đã tạo ra âm mưu gấu trúc đầu tiên của mình, hãy để xem xét kỹ hơn về cách
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6 hoạt động.Nhìn dưới mui xe: matplotlib
Khi bạn gọi
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6 trên đối tượng In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8, matplotlib sẽ tạo ra cốt truyện dưới mui xe.Để xác minh điều này, hãy thử hai đoạn mã. Đầu tiên, hãy tạo biểu đồ với matplotlib bằng hai cột của DataFrame của bạn:
>>>
In [9]: import matplotlib.pyplot as plt
In [10]: plt.plot[df["Rank"], df["P75th"]]
Out[10]: []
Đầu tiên, bạn nhập mô -đun
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
9 và đổi tên nó thành In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
0. Sau đó, bạn gọi In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
1 và chuyển cột In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
1 là đối số đầu tiên và cột In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
0 làm đối số thứ hai.
Kết quả là một biểu đồ dòng biểu thị phần trăm thứ 75 trên trục y so với thứ hạng trên trục x:
Bạn có thể tạo chính xác cùng một biểu đồ bằng phương thức
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 đối tượng In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6:>>>
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
Đầu tiên, bạn nhập mô -đun
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
9 và đổi tên nó thành In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
0. Sau đó, bạn gọi In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
1 và chuyển cột In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
1 là đối số đầu tiên và cột In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
0 làm đối số thứ hai.wrapper for In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
8, and the result is a graph identical to the one you produced with Matplotlib:Kết quả là một biểu đồ dòng biểu thị phần trăm thứ 75 trên trục y so với thứ hạng trên trục x:
Bạn có thể tạo chính xác cùng một biểu đồ bằng phương thức
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 đối tượng In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6:In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6 là một trình bao bọc cho In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
8 và kết quả là một biểu đồ giống hệt với bản đồ bạn sản xuất với matplotlib:
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
Bạn có thể sử dụng cả
In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
8 và In [14]: median_column.plot[kind="hist"]
Out[14]:
0 để tạo cùng một biểu đồ từ các cột của đối tượng In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8. Tuy nhiên, nếu bạn đã có một phiên bản In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8, thì In [14]: median_column.plot[kind="hist"]
Out[14]:
0 cung cấp cú pháp sạch hơn so với In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
8.Bây giờ bạn đã biết rằng phương pháp In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 đối tượng In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6 là một trình bao bọc cho matplotlib, ____ ____68, hãy để Lướt đi vào các loại lô khác nhau mà bạn có thể tạo ra và làm thế nào để tạo ra chúng.
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
Khảo sát dữ liệu của bạn
Các sơ đồ tiếp theo sẽ cung cấp cho bạn một cái nhìn tổng quan chung về một cột cụ thể trong bộ dữ liệu của bạn. Đầu tiên, bạn sẽ có một cái nhìn về phân phối thuộc tính với biểu đồ. Sau đó, bạn sẽ biết một số công cụ để kiểm tra các ngoại lệ.
>>>
In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
Đầu tiên, bạn nhập mô -đun
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
9 và đổi tên nó thành In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
0. Sau đó, bạn gọi In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
1 và chuyển cột In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
1 là đối số đầu tiên và cột In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
0 làm đối số thứ hai.bins and display a count of the data points whose
values are in a particular bin.Kết quả là một biểu đồ dòng biểu thị phần trăm thứ 75 trên trục y so với thứ hạng trên trục x:
>>>
In [14]: median_column.plot[kind="hist"]
Out[14]:
Đầu tiên, bạn nhập mô -đun
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
9 và đổi tên nó thành In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
0. Sau đó, bạn gọi In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
1 và chuyển cột In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
1 là đối số đầu tiên và cột In [8]: df.plot[x="Rank", y=["P25th", "Median", "P75th"]]
Out[8]:
0 làm đối số thứ hai.Kết quả là một biểu đồ dòng biểu thị phần trăm thứ 75 trên trục y so với thứ hạng trên trục x:
Bạn có thể tạo chính xác cùng một biểu đồ bằng phương thức
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 đối tượng In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6:width of $10,000. The histogram has a different shape than the normal distribution, which has a symmetric bell shape with a peak in the middle.In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6 là một trình bao bọc cho In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
8 và kết quả là một biểu đồ giống hệt với bản đồ bạn sản xuất với matplotlib:tail stretches far to the right and suggests that there are indeed
fields whose majors can expect significantly higher earnings.Bạn có thể sử dụng cả In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
8 và In [14]: median_column.plot[kind="hist"]
Out[14]:
0 để tạo cùng một biểu đồ từ các cột của đối tượng In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8. Tuy nhiên, nếu bạn đã có một phiên bản In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8, thì In [14]: median_column.plot[kind="hist"]
Out[14]:
0 cung cấp cú pháp sạch hơn so với In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
8.
In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
In [14]: median_column.plot[kind="hist"]
Out[14]:
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
In [14]: median_column.plot[kind="hist"]
Out[14]:
In [12]: median_column = df["Median"]
In [13]: type[median_column]
Out[13]: pandas.core.series.Series
Bây giờ bạn đã biết rằng phương pháp
In [11]: df.plot[x="Rank", y="P75th"]
Out[11]:
8 đối tượng In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6 là một trình bao bọc cho matplotlib, ____ ____68, hãy để Lướt đi vào các loại lô khác nhau mà bạn có thể tạo ra và làm thế nào để tạo ra chúng.- Khảo sát dữ liệu của bạn
- Các sơ đồ tiếp theo sẽ cung cấp cho bạn một cái nhìn tổng quan chung về một cột cụ thể trong bộ dữ liệu của bạn. Đầu tiên, bạn sẽ có một cái nhìn về phân phối thuộc tính với biểu đồ. Sau đó, bạn sẽ biết một số công cụ để kiểm tra các ngoại lệ.
Phân phối và biểu đồ
- Để sắp xếp theo cột
8, hãy sử dụngIn [7]: %matplotlib Using matplotlib backend: MacOSX
1 và cung cấp tên của cột bạn muốn sắp xếp theo hướngIn [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4] Out[16]:
2.In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4] Out[16]:
- Để có được năm mục hàng đầu trong danh sách của bạn, hãy sử dụng
3.In [7]: %matplotlib Using matplotlib backend: MacOSX
Hãy để tạo ra một khung dữ liệu mới được gọi là
In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
4:>>>
In [15]: top_5 = df.sort_values[by="Median", ascending=False].head[]
Bây giờ bạn có một khung dữ liệu nhỏ hơn chỉ chứa năm chuyên ngành sinh lợi nhất hàng đầu. Bước tiếp theo, bạn có thể tạo một lô thanh chỉ hiển thị các chuyên ngành với năm mức lương trung bình hàng đầu này:
>>>
In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
Bây giờ bạn có một khung dữ liệu nhỏ hơn chỉ chứa năm chuyên ngành sinh lợi nhất hàng đầu. Bước tiếp theo, bạn có thể tạo một lô thanh chỉ hiển thị các chuyên ngành với năm mức lương trung bình hàng đầu này:
Lưu ý rằng bạn sử dụng các tham số
In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
5 và In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
6 để xoay và kích thước các nhãn của trục X để chúng nhìn thấy. Bạn sẽ thấy một âm mưu với 5 thanh:Cốt truyện này cho thấy mức lương trung bình của các chuyên ngành kỹ thuật dầu khí cao hơn 20.000 đô la so với phần còn lại. Thu nhập cho các chuyên ngành thứ hai đến thứ tư tương đối gần nhau.
Nếu bạn có một điểm dữ liệu có giá trị cao hơn hoặc thấp hơn nhiều so với phần còn lại, thì bạn có thể muốn điều tra thêm một chút. Ví dụ: bạn có thể nhìn vào các cột có chứa dữ liệu liên quan.
>>>
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
0Bây giờ bạn có một khung dữ liệu nhỏ hơn chỉ chứa năm chuyên ngành sinh lợi nhất hàng đầu. Bước tiếp theo, bạn có thể tạo một lô thanh chỉ hiển thị các chuyên ngành với năm mức lương trung bình hàng đầu này:
Lưu ý rằng bạn sử dụng các tham số
In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
5 và In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
6 để xoay và kích thước các nhãn của trục X để chúng nhìn thấy. Bạn sẽ thấy một âm mưu với 5 thanh:Cốt truyện này cho thấy mức lương trung bình của các chuyên ngành kỹ thuật dầu khí cao hơn 20.000 đô la so với phần còn lại. Thu nhập cho các chuyên ngành thứ hai đến thứ tư tương đối gần nhau.
Nếu bạn có một điểm dữ liệu có giá trị cao hơn hoặc thấp hơn nhiều so với phần còn lại, thì bạn có thể muốn điều tra thêm một chút. Ví dụ: bạn có thể nhìn vào các cột có chứa dữ liệu liên quan.
Hãy để điều tra tất cả các chuyên ngành có mức lương trung bình trên 60.000 đô la. Đầu tiên, bạn cần lọc các chuyên ngành này bằng mặt nạ
In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
7. Sau đó, bạn có thể tạo một biểu đồ thanh khác hiển thị cả ba cột thu nhập:Bạn sẽ thấy một âm mưu với ba thanh trên mỗi chính, như thế này:
Tỷ lệ phần trăm thứ 25 và 75 xác nhận những gì bạn đã thấy ở trên: Chuyên ngành Kỹ thuật Dầu khí là những sinh viên tốt nghiệp được trả lương cao nhất.
Tại sao bạn nên quan tâm đến các ngoại lệ trong bộ dữ liệu này? Nếu bạn là một sinh viên đại học suy ngẫm về việc chọn chính nào, bạn có ít nhất một lý do khá rõ ràng. Nhưng các ngoại lệ cũng rất thú vị từ quan điểm phân tích. Họ có thể chỉ ra không chỉ các ngành công nghiệp có nhiều tiền mà còn dữ liệu không hợp lệ.
>>>
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
1Bây giờ bạn có một khung dữ liệu nhỏ hơn chỉ chứa năm chuyên ngành sinh lợi nhất hàng đầu. Bước tiếp theo, bạn có thể tạo một lô thanh chỉ hiển thị các chuyên ngành với năm mức lương trung bình hàng đầu này:
Lưu ý rằng bạn sử dụng các tham số
In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
5 và In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
6 để xoay và kích thước các nhãn của trục X để chúng nhìn thấy. Bạn sẽ thấy một âm mưu với 5 thanh:Cốt truyện này cho thấy mức lương trung bình của các chuyên ngành kỹ thuật dầu khí cao hơn 20.000 đô la so với phần còn lại. Thu nhập cho các chuyên ngành thứ hai đến thứ tư tương đối gần nhau.
Nếu bạn có một điểm dữ liệu có giá trị cao hơn hoặc thấp hơn nhiều so với phần còn lại, thì bạn có thể muốn điều tra thêm một chút. Ví dụ: bạn có thể nhìn vào các cột có chứa dữ liệu liên quan.
Hãy để điều tra tất cả các chuyên ngành có mức lương trung bình trên 60.000 đô la. Đầu tiên, bạn cần lọc các chuyên ngành này bằng mặt nạ In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
7. Sau đó, bạn có thể tạo một biểu đồ thanh khác hiển thị cả ba cột thu nhập:
In [16]: top_5.plot[x="Major", y="Median", kind="bar", rot=5, fontsize=4]
Out[16]:
Bạn sẽ thấy một âm mưu với ba thanh trên mỗi chính, như thế này:
Tỷ lệ phần trăm thứ 25 và 75 xác nhận những gì bạn đã thấy ở trên: Chuyên ngành Kỹ thuật Dầu khí là những sinh viên tốt nghiệp được trả lương cao nhất.
Tại sao bạn nên quan tâm đến các ngoại lệ trong bộ dữ liệu này? Nếu bạn là một sinh viên đại học suy ngẫm về việc chọn chính nào, bạn có ít nhất một lý do khá rõ ràng. Nhưng các ngoại lệ cũng rất thú vị từ quan điểm phân tích. Họ có thể chỉ ra không chỉ các ngành công nghiệp có nhiều tiền mà còn dữ liệu không hợp lệ.
Dữ liệu không hợp lệ có thể được gây ra bởi bất kỳ số lượng lỗi hoặc giám sát nào, bao gồm mất cảm biến, lỗi trong quá trình nhập dữ liệu thủ công hoặc năm tuổi tham gia vào một nhóm tập trung có nghĩa là từ mười tuổi trở lên. Điều tra các ngoại lệ là một bước quan trọng trong việc làm sạch dữ liệu.
Ngay cả khi dữ liệu là chính xác, bạn có thể quyết định rằng nó rất khác so với phần còn lại mà nó tạo ra nhiều tiếng ồn hơn lợi ích. Hãy giả sử bạn phân tích dữ liệu bán hàng của một nhà xuất bản nhỏ. Bạn nhóm doanh thu theo khu vực và so sánh chúng với cùng tháng của năm trước. Sau đó, ra khỏi màu xanh, nhà xuất bản có được một cuốn sách bán chạy nhất quốc gia.
>>>
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
2Bây giờ bạn có một khung dữ liệu nhỏ hơn chỉ chứa năm chuyên ngành sinh lợi nhất hàng đầu. Bước tiếp theo, bạn có thể tạo một lô thanh chỉ hiển thị các chuyên ngành với năm mức lương trung bình hàng đầu này:
Hãy để vẽ một biểu đồ thanh ngang hiển thị tất cả các tổng số danh mục trong
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
03:>>>
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
3Bạn sẽ thấy một âm mưu với một thanh ngang cho mỗi loại:
Như cốt truyện của bạn cho thấy, kinh doanh cho đến nay là thể loại chính phổ biến nhất. Trong khi nhân văn và nghệ thuật tự do là thứ hai rõ ràng, phần còn lại của các lĩnh vực có sự phổ biến tương tự nhau hơn.
Xác định tỷ lệ
Biểu đồ thanh dọc và ngang thường là một lựa chọn tốt nếu bạn muốn thấy sự khác biệt giữa các danh mục của bạn. Nếu bạn quan tâm đến tỷ lệ, thì các lô PIE là một công cụ tuyệt vời. Tuy nhiên, vì
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
03 chứa một vài loại nhỏ hơn, việc tạo ra một lô bánh với In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
05 sẽ tạo ra một số lát nhỏ với các nhãn chồng chéo.Để giải quyết vấn đề này, bạn có thể gộp các danh mục nhỏ hơn vào một nhóm. Hợp nhất tất cả các danh mục với tổng số dưới 100.000 thành một danh mục gọi là
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
06, sau đó tạo một lô bánh:>>>
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
4Bạn sẽ thấy một âm mưu với một thanh ngang cho mỗi loại:
Như cốt truyện của bạn cho thấy, kinh doanh cho đến nay là thể loại chính phổ biến nhất. Trong khi nhân văn và nghệ thuật tự do là thứ hai rõ ràng, phần còn lại của các lĩnh vực có sự phổ biến tương tự nhau hơn.
Xác định tỷ lệ
Biểu đồ thanh dọc và ngang thường là một lựa chọn tốt nếu bạn muốn thấy sự khác biệt giữa các danh mục của bạn. Nếu bạn quan tâm đến tỷ lệ, thì các lô PIE là một công cụ tuyệt vời. Tuy nhiên, vì In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
03 chứa một vài loại nhỏ hơn, việc tạo ra một lô bánh với In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
05 sẽ tạo ra một số lát nhỏ với các nhãn chồng chéo.
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
Để giải quyết vấn đề này, bạn có thể gộp các danh mục nhỏ hơn vào một nhóm. Hợp nhất tất cả các danh mục với tổng số dưới 100.000 thành một danh mục gọi là
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
06, sau đó tạo một lô bánh:Lưu ý rằng bạn bao gồm đối số
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
07. Theo mặc định, Pandas thêm một nhãn có tên cột. Điều đó thường có ý nghĩa, nhưng trong trường hợp này, nó sẽ chỉ thêm tiếng ồn.>>>
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
5Bây giờ bạn sẽ thấy một cốt truyện như thế này:
Danh mục
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
06 vẫn chỉ chiếm một lát bánh rất nhỏ. Đó là một dấu hiệu tốt cho thấy việc hợp nhất các danh mục nhỏ đó là lựa chọn đúng đắn.Phóng to các danh mục
Đôi khi bạn cũng muốn xác minh xem một phân loại nhất định có ý nghĩa không. Là các thành viên của một thể loại giống với một loại khác với phần còn lại của bộ dữ liệu? Một lần nữa, phân phối là một công cụ tốt để có được cái nhìn tổng quan đầu tiên. Nói chung, chúng tôi hy vọng phân phối của một danh mục tương tự như phân phối bình thường nhưng có phạm vi nhỏ hơn.visualizing your dataset using Python and the pandas library. You’ve seen how some basic plots can give you insight into your data and guide your analysis.
Tạo một biểu đồ biểu đồ cho thấy sự phân phối thu nhập trung bình cho các chuyên ngành kỹ thuật:
- Bạn sẽ nhận được một biểu đồ mà bạn có thể so sánh với biểu đồ của tất cả các chuyên ngành từ đầu:histogram
- Phạm vi thu nhập trung bình chính có phần nhỏ hơn, bắt đầu từ 40.000 đô la. Phân phối gần với bình thường hơn, mặc dù đỉnh của nó vẫn ở bên trái. Vì vậy, ngay cả khi bạn đã quyết định chọn một chuyên ngành trong danh mục kỹ thuật, sẽ là khôn ngoan khi lặn sâu hơn và phân tích các lựa chọn của bạn kỹ lưỡng hơn.scatter plot
- Sự kết luậnbar plots and their ratios with pie plots
- Trong hướng dẫn này, bạn đã học cách bắt đầu trực quan hóa bộ dữ liệu của mình bằng Python và Thư viện Pandas. Bạn đã thấy làm thế nào một số sơ đồ cơ bản có thể cung cấp cho bạn cái nhìn sâu sắc về dữ liệu của bạn và hướng dẫn phân tích của bạn.most suited to your current task
Trong hướng dẫn này, bạn đã học được cách:
Nhận tổng quan về phân phối dữ liệu của bạn với biểu đồ
Khám phá mối tương quan với một âm mưu phân tán
Phân tích các danh mục với các lô thanh và tỷ lệ của chúng với các lô bánh
Xác định lô nào phù hợp nhất với nhiệm vụ hiện tại của bạn
Sử dụng
In [5]: pd.set_option["display.max.columns", None]
In [6]: df.head[]
6 và một khung dữ liệu nhỏ, bạn đã phát hiện ra khá nhiều khả năng để cung cấp hình ảnh dữ liệu của bạn. Bây giờ bạn đã sẵn sàng để xây dựng kiến thức này và khám phá những hình ảnh tinh vi hơn nữa.Nếu bạn có câu hỏi hoặc nhận xét, sau đó xin vui lòng đặt chúng vào phần bình luận bên dưới.
Đọc thêm
Mặc dù gấu trúc và matplotlib làm cho việc hình dung dữ liệu của bạn khá đơn giản, nhưng có những khả năng vô tận để tạo ra những lô đất tinh vi, đẹp hoặc hấp dẫn hơn. This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding: Plot With Pandas: Python Data Visualization Basics