按特定栏目分组,列出其他栏目Pandas。

问题描述 投票:0回答:1

我试图在一个数据框架中对一列进行分组,并希望其他列被添加到元素列表中。

我有一个类似于这样的数据框架。

Route  Station  Position
A1      X1         P1        
A1      X2         P2        
A1      X3         P3      
B2      Y1         P1   
B2      Y2         P2

预期的输出应该是这样的

Route  Station  Position
A1   [X1,X2,X3] [P1,P2,P3]       
B2    [Y1,Y2]    [P1,P2]   

正确的方法是什么?

python pandas dataframe pandas-groupby
1个回答
3
投票

使用

df.groupby('Route', as_index=False).agg(list)

输出:

  Route       Station      Position
0    A1  [X1, X2, X3]  [P1, P2, P3]
1    B2      [Y1, Y2]      [P1, P2]

0
投票
>>> m
    R   S   P
0  A1  X1  P1
1  A1  X2  P2
2  A1  X3  P3
3  B2  Y1  P1
4  B2  Y2  P2
>>> m.groupby('R').agg( lambda x: list(x) )
               S             P
R                             
A1  [X1, X2, X3]  [P1, P2, P3]
B2      [Y1, Y2]      [P1, P2]
>>>
© www.soinside.com 2019 - 2024. All rights reserved.