簡體   English   中英

Pandas pivot_table日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM