[英]How do I create a Pivot table in Pandas using the default index as the pivot index?
[英]How do I use timestamp dates as an index in a pivot table in python?
我最近開始使用python.pivot_table,並且遇到了在數據透視表中正確使用時間戳的挑戰。
我有一個大型數據框,其中包含如下數據
Date ID Days Quantity Concern
0 2012-06-29 NaN 621 NaN A
1 2012-06-29 1208985 874 1 A
2 2012-06-29 NaN 621 2 B
3 2012-06-29 NaN 874 1 C
4 2012-06-29 NaN 566 NaN A
5 2012-06-29 251254 780 NaN A
6 2012-06-29 NaN 566 NaN C
7 2012-06-29 385379 566 1 B
8 2012-06-29 967911 780 1 B
9 2012-06-29 NaN 521 NaN A
10 2012-06-29 1208985 834 1 C
11 2012-06-29 385379 374 NaN A
12 2012-06-29 967909 780 1 B
13 2012-07-18 NaN 821 NaN A
14 2012-07-18 251254 821 NaN A
15 2012-08-04 756444 676 1 C
16 2012-08-04 756444 676 2 C
17 2012-08-04 NaN 676 NaN A
18 2012-08-24 NaN 571 NaN B
19 2012-08-24 251254 446 1 B
像下面這樣的行效果很好:
pd.pivot_table(data,index=['Concern'],columns=['ID'],values=['Quantity'],aggfunc='sum')
當前,當我使用Date列作為index=['Date']
它按天分組。 我希望可以按月或年分組。 當date列是TimeStamp對象時,是否可以用數據透視表實現此目的?
您可以通過datetime系列具有的.dt
屬性訪問諸如年和月之類的信息,因此您可以輕松地創建新列,例如:
df['Month'] = df['Date'].dt.month
然后使用這些列創建數據透視表:
pd.pivot_table(df, index=['Month'], columns=['ID'],
values=['Quantity'],aggfunc='sum')
輸出:
Out[16]:
Quantity
ID 251254 385379 756444 967909 967911 1208985
Month
6 NaN 1 NaN 1 1 2
7 NaN NaN NaN NaN NaN NaN
8 1 NaN 3 NaN NaN NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.