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

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

如何使用 Pandas 對兩列進行分組并計算行的總和?

如何使用 Pandas 對兩列進行分組并計算行的總和?

蠱毒傳說 2023-10-18 21:27:19
我有一個 pandas 數據框,df例如:Name  Hour Activity    A   4   TT    A   3   TT    A   5   UU    B   1   TT    C   1   TT    D   1   TT    D   2   TT    D   3   UU    D   4   UU下一步是如果行具有相同的列Name和值,則獲取總和Activity。例如,對于這種情況Name: A和Activity: TT將給出總和7結果如下所示    TT  UUA   7   5B   1   0C   1   0D   3   7是否可以使用 pandas groupby 來做這樣的事情?
查看完整描述

2 回答

?
牧羊人nacy

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

嘗試groupby.sum并unstack


df_final = df.groupby(['Name', 'Activity']).Hour.sum().unstack(fill_value=0)


Out[177]:

Activity  TT  UU

Name

A          7   5

B          1   0

C          1   0

D          3   7


查看完整回答
反對 回復 2023-10-18
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

Apivot_table也可以在這里工作:


df = pd.pivot_table(df, index='Name', columns='Activity', values='Hour', aggfunc='sum', fill_value=0)

df

Out[1]: 

Activity  TT  UU

Name            

A          7   5

B          1   0

C          1   0

D          3   7

從那里,您可以進行一些進一步的清理以達到:


df.columns = [''.join(col) for col in df.columns]

df = df.reset_index()

df

Out[2]: 

  Name  TT  UU

0    A   7   5

1    B   1   0

2    C   1   0

3    D   3   7


查看完整回答
反對 回復 2023-10-18
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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