我有一个以下结构的 pandas.DataFrame
:
>>> data
a b values
1 0 [1, 2, 3, 4]
2 0 [3, 4, 5, 6]
1 1 [1, 3, 7, 9]
2 1 [2, 4, 6, 8]
('values'
的类型是 numpy.array
)。我想要做的是按列 'a'
对数据进行分组,然后将值列表组合起来。
我的目标是最终得到以下结果:
>>> data
a values
1 [1, 2, 3, 4, 1, 3, 7, 9]
2 [3, 4, 5, 6, 2, 4, 6, 8]
请注意,值的顺序并不重要。我该如何实现这一点?我考虑了一些方法,比如:
>>> grps = data.groupby(['a'])
>>> grps['values'].agg(np.concatenate)
但这会导致 KeyError
。我相信有一种pandaic的方式可以实现这个 - 但是怎么做呢?谢谢。
'b'
,而'a'
应该保留并保持不变。 - rammelmueller