代碼
def plot_data_by_month(data, x, y) :
data_by_month = data[data[y] > 0].groupby(data[data[y] > 0].index.month_name())[y].mean()
ax = data_by_month.plot(figsize=(15, 10))
ax.set_title(y ' ' 'by Month of Year')
ax.set_xlabel('Month')
ax.set_ylabel(y)
time_labels = data_by_month.index
ticks = ax.set_xticks(range(len(time_labels)), time_labels)
plot_data_by_month(chiller1, 'Time', 'kWE')
結果
圖表圖片(還不能嵌入照片)
不知道如何讓月份不按字母順序排列并按日歷順序排列,資料框是從最舊 - 最新(1 月 - 12 月)開始的,所以不知道如何解決這個問題。
uj5u.com熱心網友回復:
您只能將行過濾一次以幫助 DataFrame df1,如有必要進行排序DatetimeIndex并防止排序添加sort=False到groupby:
df1 = data[data[y] > 0].sort_index()
data_by_month = df1.groupby(df1.index.month_name(), sort=False)[y].mean()
反而:
data_by_month = data[data[y] > 0].groupby(data[data[y] > 0].index.month_name())[y].mean()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/477796.html
標籤:Python 熊猫 matplotlib
