0
我想知道是否有一個更快的方法來按照一組進行分組。這裏的操作:羣熊貓df根據集
import pandas as pd
col1 = 'ABCDE'
col2 = range(5,10)
df = pd.DataFrame(zip(col1,col2), columns=('x','y'))
row_groups = {'foo':set('ABC'), 'bar':set('DE')}
我希望將數據幀從目前的形式發生變化:
x y y
0 A 5 group_name
1 B 6 foo 18
2 C 7 ==> bar 17
3 D 8
4 E 9
我做的方式,它是建立代表小組的第二數據幀,合併這兩個數據幀,由行組名稱組,並總和,
row_groups_df = pd.DataFrame(zip('ABCDE',['foo']*3 + ['bar']*2),
columns=('x','group_name'))
merged_df = pd.merge(df, row_groups_df)
output_df = merged_df.groupby(['group_name']).sum()
其產生期望的輸出:
y
group_name
bar 17
foo 18