【发布时间】:2020-10-08 11:38:33
【问题描述】:
我正在使用形状为7837 rows and 19 columns 的pandas DataFrame。我有兴趣获得product_id 每月出现的次数,即date 列和相关联的amount。因为product_id 可以有不同的数量。所以我正在寻找一种方式来表达例如product_id 1921 和amount 59 出现......
这里是pandas dataframe的小版本
print(df)
CompanyName Produktname product_id amount Date
0 companyA productA 1921 59.0 Jan-2020
1 companyB productB 114 NaN May-2020
2 companyC productC 469 NaN Feb-2020
3 companyD productD 569 18.0 Jun-2020
4 companyE productE 569 18.0 March-2020
我认为 pivot_table 可能会有所帮助。我想先看看每个product_id出现了多少次以日期为列
pd.pivot_table(df, index="product_id", values= "product_id" ,columns="Date", aggfunc="count")
但我得到一个错误:
ValueError: Grouper for 'product_id' not 1-dimensional
有没有办法解决这个问题或更有效的方法来处理这个问题?
【问题讨论】:
-
df.pivot_table(index="product_id", values= "amount" ,columns="Date", aggfunc="count")? -
看来你需要把
values= "product_id"改成values= "amount"
标签: python python-3.x pandas dataframe pivot-table