的列组的列我有一个熊猫数据帧,看起来是这样的:基于M列熊猫:重复的行放入名单
>>> df
m event
0 3 1
1 1 1
2 1 2
3 1 2
4 2 1
5 2 0
6 3 1
7 2 2
8 3 2
9 3 1
我想组的事件列的值转换成列表,以便我会得到这样的:
>>> df
m events
0 3 [1, 1, 2, 1]
1 1 [1, 2, 2]
2 2 [1, 0, 2]
应该有每m的独特价值一行与属于所有m事件的对应列表。
我尝试这样做:
>>> list(df.groupby('m').event)
[(3, m_id
0 1
6 1
8 2
9 1
Name: event, dtype: int64), (1, m_id
1 1
2 2
3 2
Name: event, dtype: int64), (2, m_id
4 1
5 0
7 2
Name: event, dtype: int64)]
它那种做什么,我想在这M组后的事件。我可以用一些循环来回顾我想要的数据框,但是我觉得我已经开始了一个不必要的复杂路径。如果m有数以千计的唯一值,则会变慢。
我可以使用Pandas方法以优雅的方式执行我想要的转换吗?
如果事件列可以包含(numpy)数组,以便我可以直接在事件行上进行数学运算(如df[df.m==1].events + 100
),但常规列表也可以。
即使阵列,完美! – PaulMag