我有一个销售产品列表,我想按产品按月对销售额进行分组。我正在使用数据框,其索引是时间索引,并且有一个列产品。
我试过 :
df.groupby(['product', pd.TimeGrouper(freq='1M')])['sales'].sum()
Run Code Online (Sandbox Code Playgroud)
但它给出了一个错误:“TimeGrouper”对象不可调用
我也尝试过
df.groupby(pd.TimeGrouper(freq='1M')).groupby('sales').sum()
Run Code Online (Sandbox Code Playgroud)
但它给出了一个错误:无法访问“dataframegroupby”对象的可调用属性“groupby”。
有任何想法吗 ?
PS:我无法将工作中的粘贴代码复制到互联网上。
这对我有用。我不确定你为什么会收到 TypeError...
df.groupby(['product', pd.TimeGrouper('1M')])['sales'].sum()
Run Code Online (Sandbox Code Playgroud)
您可以向 DataFrame 添加另一列并将其用于分组:
df['month'] = [ts.month for ts in df.index]
df.groupby(['product', 'month'])['sales'].sum()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6297 次 |
| 最近记录: |