如何使用 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
我有一个数据框 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 |