给定Pandas中的以下DataFrame:
import pandas as pd
df = pd.DataFrame(
{
"Date": [
pd.Timestamp("2000-01-02"),
pd.Timestamp("2000-01-02"),
pd.Timestamp("2000-01-05"),
pd.Timestamp("2000-01-06"),
pd.Timestamp("2000-01-06"),
pd.Timestamp("2000-01-06")
],
"Item": ["A", "A", "B", "C", "C", "C"]
}
)
其产生以下DataFrame:
Date Item
0 2000-01-02 A
1 2000-01-02 A
2 2000-01-05 B
3 2000-01-06 C
4 2000-01-06 C
5 2000-01-06 C
如何按日期将数据汇总,并将Item作为列标题,如以下格式所示?
Date A B C
2000-01-02 2 0 0
2000-01-05 0 1 0
2000-01-06 0 0 3
我试过了
pivot_df = df.pivot_table(index='Date', columns='Item', aggfunc=len, fill_value=0)
但这给了我:
Item A B C
Date
2000-01-02 2 0 0
2000-01-05 0 1 0
2000-01-06 0 0 3
我不希望列中有“项目”,只希望列中包含“日期A B C”。