亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶 Groupby 的數據透視表 - Pandas

帶 Groupby 的數據透視表 - Pandas

Cats萌萌 2023-09-26 14:17:03
我正在嘗試制作一個數據透視表,使其看起來像下面第一個數據中的預期結果(第二個表);To Date         From    To    Quantity10/11/2020   USA   Ireland  510/11/2020   USA   France   411/11/2020   USA   France   612/11/2020   USA   Jamaica  612/11/2020   USA   France   5...14/02/2021   USA   Ireland  65           01/11/2020   01/12/2020   01/01/2021  01/02/2021Ireland    15                                    65France     10Jamaica    6我可以通過 groupby() 來獲取每月數據。我希望數據透視表包含每個國家/地區的總金額。df.index = qathist['To Date']df.index = pd.to_datetime(df.index)df_m= df.groupby(by=[df.index.year, df.index.month]).sum()..但是后來我刪除了其他數據等,并且似乎無法正確旋轉它!
查看完整描述

3 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

要獲得每月的費用,最好使用to_period. 您可以通過Togroupby,然后取消堆疊:

df.groupby(['To',df.index.to_period('M')])['Quantity'].sum().unstack()


查看完整回答
反對 回復 2023-09-26
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

您可以使用原始代碼的一部分并將其與函數混合pd.pivot_table。


例如,如果您的原始數據框是df:


df.index = pd.to_datetime(df["To Date"])

pivot = df.pivot_table(values="Quantity", 

                       columns="To", 

                       index=[df.index.month, df.index.year],

                       aggfunc='sum')

輸出如下


To               France  Ireland  Jamaica

To Date To Date                          

2       2021        NaN     65.0      NaN

10      2020        4.0      5.0      NaN

11      2020        6.0      NaN      NaN

12      2020        5.0      NaN      6.0

希望它有用!


查看完整回答
反對 回復 2023-09-26
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

使用 pd.crosstab:

pd.crosstab(df['To'], df['To Date'], df['Quantity'], aggfunc='sum')


查看完整回答
反對 回復 2023-09-26
  • 3 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號