基于特定列的熊猫数据框组行

时间:2018-12-13 10:15:27

标签: python pandas dataframe data-munging

我有一个看起来像这样的表:

   P_id   S_id   Time
1  20     A    15 
2  30     B    50
3  50     A    99 
4  70     A    60

我想基于“ Sid”列对表进行分组,并按“时间”列进行排序,因此它看起来像这样:

     P_id       S_id   
1  20,70,50       A     
2    30           B    

做到这一点的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试一下。 df这是您数据框的名称

import pandas as pd
df2 = pd.DataFrame({'S_id': ['A', 'B']})
df2.loc[:,'P_id'] = ''
for letter in df2.S_id.unique():
    indx = df2.loc[df2['S_id']==letter].index.values
    df1 = df.sort_values(by = ['S_id' ,'Time'])
    array_values = list(df1[df1.S_id ==letter].P_id.values)#.astype(object)
    df2.at[indx[0], 'P_id'] = array_values
df2