我有一个包含多个 OrderId、销售日期、销售产品等的数据框。我目前正在尝试计算销售较少摩托车的月份。
这是我编写的代码,尝试使用 group by 计算每个月的总销售额:
Motorcycles =sales_data.loc[sales_data['PRODUCTLINE'] == 'Motorcycles']
Motorcycles['ORDERDATE'] = pd.to_datetime(Motorcycles['ORDERDATE'])
Motorcycles.groupby(pd.Grouper(freq='M'))
显示的警告是:: 10:SettingWithCopyWarning:试图在 DataFrame 中的切片副本上设置值。尝试使用 .loc[row_indexer,col_indexer] = value 查看文档中的注意事项:https ://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a -复制摩托车[' ORDERDATE '] = pd.to_datetime(摩托车['ORDERDATE'])
显示的错误是: 错误:TypeError:仅对 DatetimeIndex、TimedeltaIndex 或 PeriodIndex 有效,但获得了“Int64Index”的实例
我也试过了,但这都不起作用。
Motorcycles.set_index('ORDERDATE').resample('1M').sum()
df.head(10) 结果: