Hướng dẫn dùng boxplot pandas python

Về cơ bản trong pandas cũng hỗ trợ chúng ta trực quan hóa dữ liệu mà không cần các thư viện hỗ trợ khác như Seaborn, Matplotlib. Tuy vậy cách trực quan này để ta áp dụng nhanh biểu đồ nhằm hiểu được nội dung của Dataset để phân tích chúng.

Còn khi ta làm báo cáo, truyền đạt thông tin cho người khác, [các bạn làm DA, khi báo cáo dữ liệu cho Sếp, cho phòng ban khác, hay khi thuyết trình] thì ta nên dùng Seaborn, Matplotlib hay Cufflinks [tương tác được với biểu đồ] để hình ảnh được trực quan hơn, vẽ những biểu đồ phức tạp hơn, đẹp hơn, sống động hơn…

Nào! giớ chúng ta cùng tìm hiểu qua cách vẽ biểu đồ trong pandas nhé

Đầu tiên và đừng quên là import thư viện pandas, không có lệnh này bạn sẽ không làm gì được ngoài nhìn màn hình máy tính đâu

import numpy as np
import pandas as pd
# Nếu bạn sử dụng Jupiter notebook nhớ thêm lệnh này
%matplotlib inline

Load dữ liệu mẫu

df1 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df1',index_col=0]
df2 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df2']

Output: df1

Output: df2

Trong pandas cung cấp cho ta các dạng biểu đồ sau:

  • df.plot.area [Biểu đồ khu vực]
  • df.plot.barh
  • df.plot.density
  • df.plot.hist [Biểu đồ tần suất ]
  • df.plot.line [Biểu đồ đường vẽ]
  • df.plot.scatter [Biểu đồ phân tán]
  • df.plot.bar [Biểu đồ cột, thanh]
  • df.plot.box [Biểu đồ hộp]
  • df.plot.hexbin
  • df.plot.kde
  • df.plot.pie [Biểu đồ hình tròn]

Biểu đồ Histograms

Là biểu đồ tần suất hay biểu đồ phân phối tần suất [tiếng Anh: Histogram] là một dạng biểu đồ cột cho thấy bằng hình ảnh sự thay đổi, biến động của một tập hợp các dữ liệu theo những hình dạng nhất định

Công dụng biểu đồ histograms

  • Giá trị thường xuyên xuất hiện nhiều nhất [mode]
  • Mức độ xuất hiện của mỗi giá trị
  • Hình dạng của phân bố giá trị
  • Mối quan hệ giữa các dữ liệu và những giới hạn yêu cầu
df1.hist[]

Output:

Bạn có thể vẽ từng cột trong df1

df1['A'].hist[];

Output: cột A

Ngoài ra bạn có thể vẽ bằng hàm plot[] và truyền tham số kind = “Tên các loại biểu đồ trên” theo cú pháp bên dưới, kết quả cũng tương tự:

df1['B'].plot[kind = "hist" ];

Output: Cột B

Biểu đồ Area

Biểu đồ Area là một đường biểu đồ có khu vực giữa các đường và được tô màu để đánh dấu nên có tên gọi khác là biểu đồ khu vực. Biểu đồ khu vực thường được sử dụng để biểu diễn các tổng số [total] theo thời gian và rất tiện lợi để biểu diễn các dòng xếp chồng lên nhau

# tham số alpha điều chỉnh độ đậm nhạt biểu đồ
df2.plot.area[alpha=0.4]

Output:

Biểu đồ Bar

Biểu đồ cột – bar chart hay còn gọi là biểu đồ thanh là dạng biểu đồ sử dụng những thanh đứng [hoặc có thể nằm ngang] để so sánh số liệu giữa một số đối tượng. Một trục của biểu đồ dùng để biểu thị các hạng mục được so sánh, trục còn lại biểu thị các mốc giá trị.

df2.plot.bar[]

Output:

Truyền tham số stacked=True để sum giá trị các cột với nhau

df2.plot.bar[stacked=True]

Ouput:

Biểu đồ Scatter [Biểu đồ phân tán]

Biểu đồ phân tán [hay tiếng anh còn gọi là scatter plot, scatter chart] sử dụng các dấu chấm để thể hiện điểm giao nhau của hai biến số khác nhau. Vị trí của mỗi dấu chấm trên trục tung và trục hoành tương ứng. Biểu đồ thường được dùng để xem độ phân tán hay tập trung của dữ liệu, xem dữ liệu có dạng tuyến tính hay phân cụm

df1.plot.scatter[x='A',y='B']

Output:

Bạn có thể sử dụng cmap để tô màu dựa trên giá trị cột khác nhau. Đối với tất cả các bản đồ màu, tham khảo tại đây: //matplotlib.org/users/colormaps.html

df1.plot.scatter[x='A',y='B',c='C',cmap='coolwarm']

Output:

Hoặc ta có thể hiển thị theo kích thước của một cột tương quan nào đó, ví dụ dựa vào giá trị cột C để hiển thị giá trị trong biểu đồ bằng cách truyền tham số s = df1[“C”] vào, và *100 để hiển thị độ lớn nhỏ, figsize cho ta kích thước biểu đồ ta cần

df1 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df1',index_col=0]
df2 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df2']
0

Output:

Biểu đồ Box [BoxPlots]

Biểu đồ hộp [tiếng Anh: Box Plot ] là biểu đồ diễn tả 5 vị trí phân bố của dữ liệu đó là: giá trị nhỏ nhất [min], tứ phân vị thứ nhất [Q1], trung vị [median], tứ phân vị thứ 3 [Q3] và giá trị lớn nhất [max].

Biểu đồ thường được dùng để kiểm tra giá trị ngoại lai [Outliers] hoặc sai sót trong tệp dữ liệu. Vì dữ liệu này ảnh hướng rất lớn đến kết quả đầu ra khi ta không xem xét kỹ.

df1 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df1',index_col=0]
df2 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df2']
1

Output:

Biểu đồ lục giác [Hexagonal Bin Plot]

Hữu ích cho Dữ liệu Bivariate [dữ liệu song biến] để  thay thế cho biểu đồ phân tán  [scatterplot]

df1 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df1',index_col=0]
df2 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df2']
2

Output:

Biểu đồ KDE [Kernel Density Estimation]

Biểu đồ ước tính mật độ hạt nhân [KDE] là một phương pháp để trực quan hóa sự phân bố của các quan sát trong tập dữ liệu, tương ứng với biểu đồ. KDE biểu diễn dữ liệu bằng cách sử dụng đường cong mật độ xác suất liên tục trong một hoặc nhiều thứ nguyên.

df1 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df1',index_col=0]
df2 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df2']
3

Output:

df1 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df1',index_col=0]
df2 = pd.read_csv['/content/drive/MyDrive/Udemy_Py_DS_ML_Bootcamp-master/07-Pandas-Built-in-Data-Viz/df2']
4

Output:

Trên dây là một số dạng biểu đồ để trực quan khi ta làm việc với dataset. Những thông tin trực quan cho ta có nhìn sâu hơn về dữ liệu khi ta phân tích. Không thể nào nhìn vào một bảng số liệu để ta hình dung được dữ liệu đó thể hiện điều gì, đó là lúc ta sử dụng đến những biểu đồ này trong quá trình phân tích.

Chủ Đề