Để 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
