Pandas数据帧基于特定列分组行

2024-04-25 21:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有张桌子是这样的:

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

我想根据“Sid”列对表进行分组,并按“Time”列排序,因此它将如下所示:

^{pr2}$

最好的办法是什么?在


Tags: idtime排序桌子办法sidpr2
1条回答
网友
1楼 · 发布于 2024-04-25 21:20:59

你可以试试这个。这里是数据帧的名称

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

相关问题 更多 >