我有一個看起來像這樣的資料框:[1]:https ://i.stack.imgur.com/KnHba.png
本質上,有一個分銷商名稱列、一個銷售列和一個 MM/DD/YYYY 日期列。
對于每個分銷商,按月計算,我想要銷售額的總和。我嘗試了什么: df = df.groupby(df['Distributor Name'],df.Date.dt.month)['Sales'].sum()
這會引發錯誤。“不可散列的型別:系列”。這在我洗掉分銷商名稱時有效,但我不只是想要整體月銷售額。我想要分銷商的月銷售額。
提前致謝!!喬爾
uj5u.com熱心網友回復:
按多列分組的正確方法是將它們作為第一個引數放在串列中:
result = df.groupby(['Distributor Name', df.date.dt.month])['Sales'].sum()
這將創建一個多索引 pandas 系列,其中Distributor Name和Date作為索引。如果您希望創建一個包含三列 ( Distributor Name, Date, Sales) 的資料框,您可以重置此 pandas 系列的索引。
result = result.reset_index()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/466682.html
標籤:Python 数据框 熊猫-groupby
上一篇:通過反轉級別重新排列資料幀多級列
下一篇:不能用r中的特殊字符改變字串
