我有一个看起来像这样的表:
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
做到这一点的最佳方法是什么?
答案 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