多个字符串列上的熊猫聚合

时间:2020-06-23 05:09:19

标签: python pandas

下面是源数据框

a = [
    ['T1', 'R1', 1, 'a,b', 'E'],
    ['T1', 'R1', 2, 'c,d', 'F'],
    ['T1', 'R2', 1, 'e,f', 'G'],
    ['T1', 'R2', 4, 'g,h', 'H'],
    ['T2', 'R1', 1, 'i,j', 'I'],
    ['T2', 'R1', 1, 'k,l', 'J'],
    
]

df = pd.DataFrame(a, columns = ['t_id', 'r_id', 'al', 'mt', 'mt_type'])

在t_id,r_id列上进行分组,并在这些列['al','mt','mt_type']上进行汇总

结果数据框应如下所示

    t_id r_id   al  mt        mt_type
0   T1  R1      2   a,b|c,d   E,F
1   T1  R2      4   e,f|g,h   G,H
2   T2  R1      1   i,j|k,l   I,J

1 个答案:

答案 0 :(得分:2)

aggregation_functions = {'al': 'max', 'mt': ' | '.join , 'mt_type': ' , '.join}
df_new = df.groupby(['t_id','r_id']).aggregate(aggregation_functions).reset_index()

输出:

enter image description here

相关问题