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()
:
을 0 y
group_name
bar 17
foo 18