如何使用 Python 中的数组分组

How to group by with array in Python

我有一个数据框 df_my 看起来像这样

       Rows   Seq    Alg          iMap_x
0      1000   1      Max(1,2)      12
1      1000   2      Min(4)        37
2      1000   3      Max(1,2)      28
3      1000   4      Max(1,2)      18
4      1000   5      Sum()         33
..
134    1000   135    Min(4)        04
135    1000   136    Sum()         11
136    1000   137    Max(1,2)      24

我想要一个按 Alg 分组并具有 iMap_x

数组的新数据框

所以它看起来像这样

       Alg           iMap_x
0      Max(1,2)      [12,28,18,..,24]
1      Min(4)        [37,..,04]
4      Sum()         [33,..,11]

我知道我可以分组并求和或求平均值

df_my[["Alg","iMap_x"]].groupby(by="Alg").sum()

但我不知道如何制作数组!!

尝试:

print(df[["Alg", "iMap_x"]].groupby("Alg").agg(list).reset_index())

打印:

        Alg            iMap_x
0  Max(1,2)  [12, 28, 18, 24]
1    Min(4)           [37, 4]
2     Sum()          [33, 11]

使用的数据帧:

Rows Seq Alg iMap_x
0 1000 1 Max(1,2) 12
1 1000 2 Min(4) 37
2 1000 3 Max(1,2) 28
3 1000 4 Max(1,2) 18
4 1000 5 Sum() 33
134 1000 135 Min(4) 4
135 1000 136 Sum() 11
136 1000 137 Max(1,2) 24