Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách vẽ biểu đồ mật độ hạt nhân (KDE) cho cột ngày tháng trong Pandas với Matplotlib


Để vẽ biểu đồ ước lượng mật độ hạt nhân (Kernel Density Estimate - KDE) cho dữ liệu ngày tháng trong Pandas, thực hiện các bước sau:

  • Thiết lập kích thước hình vẽ và khoảng đệm.
  • Tạo Pandas DataFrame chứa cột ngày tháng.
  • Định dạng cột ngày tháng sang dạng ordinal (số nguyên) để vẽ KDE.
  • Vẽ biểu đồ KDE cho cột ordinal.
  • Tùy chỉnh nhãn trục x hiển thị lại dạng ngày tháng bằng set_xticklabels().
  • Hiển thị hình vẽ bằng show().

Ví dụ minh họa

import pandas as pd
import numpy as np
import datetime
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

dates = pd.date_range('2010-01-01', periods=31, freq='D')
df = pd.DataFrame(np.random.choice(dates, 100), columns=['dates'])
df['ordinal'] = [x.toordinal() for x in df.dates]

ax = df['ordinal'].plot(kind='kde')
x_ticks = ax.get_xticks()
ax.set_xticks(x_ticks[::2])
xlabels = [datetime.datetime.fromordinal(int(x)).strftime('%Y-%m-%d') for x in x_ticks[::2]]
ax.set_xticklabels(xlabels)
plt.show()

Kết quả đầu ra

Cách vẽ biểu đồ mật độ hạt nhân (KDE) cho cột ngày tháng trong Pandas với Matplotlib