[英]Pandas pivot_table on date
我有一個帶有日期列的pandas DataFrame
。 它不是一個索引。
我想在數據框上使用每個位置的每月計算聚合來制作一個pivot_table。
數據如下所示:
['INDEX'] DATE LOCATION COUNT 0 2009-01-02 00:00:00 AAH 1 1 2009-01-03 00:00:00 ABH 1 2 2009-01-03 00:00:00 AAH 1 3 2009-01-03 00:00:00 ABH 1 4 2009-01-04 00:00:00 ACH 1
我用了:
pivot_table(cdiff, values='COUNT', rows=['DATE','LOCATION'], aggfunc=np.sum)
轉動價值觀。 我需要一種方法將cdiff.DATE轉換為月份而不是日期。 我希望最終得到類似的結果:數據如下所示:
MONTH LOCATION COUNT January AAH 2 January ABH 2 January ACH 1
我在cdiff.DATE上嘗試了各種strftime
方法但沒有成功。 它想要應用於字符串,而不是系列對象。
我會建議:
months = cdiff.DATE.map(lambda x: x.month)
pivot_table(cdiff, values='COUNT', rows=[months, 'LOCATION'],
aggfunc=np.sum)
要獲取月份名稱,請傳遞其他函數或使用內置calendar.month_name
。 要以您想要的格式獲取數據,您應該在結果上調用reset_index
,或者您也可以執行以下操作:
cdiff.groupby([months, 'LOCATION'], as_index=False).sum()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.