突然想到
pandas DataFrame 如何使用 SQL的多欄位 group by 找出不同的組合並且合計?
import pandas as pd data = { 'A': ['X', 'X', 'Y', 'Y', 'Z'], 'B': ['a', 'a', 'a', 'b', 'a'], 'C': [10, 20, 30, 40, 50], 'D': [1, 2, 3, 4, 5], 'E': ['V', 'V', 'V', 'V', 'B'], } df = pd.DataFrame(data) grouped = df.groupby(['A', 'B']).sum().reset_index() print(grouped)
輸出會是
import pandas as pd A B C D E 0 X a 30 3 VV 1 Y a 30 3 V 2 Y b 40 4 V 3 Z a 50 5 B
連字串都加在一起了
但是我只想要ABC欄位做 group 應該怎麼做呢?
先把ABC取出來就可以囉
例如以下這樣
import pandas as pd data = { 'A': ['X', 'X', 'Y', 'Y', 'Z'], 'B': ['a', 'a', 'a', 'b', 'a'], 'C': [10, 20, 30, 40, 50], 'D': [1, 2, 3, 4, 5], 'E': ['V', 'V', 'V', 'V', 'B'], } df = pd.DataFrame(data) grouped = df[['A', 'B', 'C']].groupby(['A', 'B']).sum().reset_index() print(grouped)
給大家參考囉
留言板
歡迎留下建議與分享!希望一起交流!感恩!