Python 3.x 列包含需要添加的多维数组时的groupby

Python 3.x 列包含需要添加的多维数组时的groupby,python-3.x,pandas,numpy,Python 3.x,Pandas,Numpy,我有一个包含二维向量作为列的熊猫数据帧。我想按其中一列分组,并将向量相加 我已经尝试过groupby-then-sum,如下面的代码所示,但是输出列向向量添加维度,而不是添加向量(类似于使用np.add时) 我想按“标签”分组并汇总输出。假设输出是二维向量,我希望向量是相加的,而不是组合的。因此,我的期望是: label A: output is [[18,20,22,24],[26,28,30,32]] label B: output is [[9,10,11,12],[13,14,15,16

我有一个包含二维向量作为列的熊猫数据帧。我想按其中一列分组,并将向量相加

我已经尝试过groupby-then-sum,如下面的代码所示,但是输出列向向量添加维度,而不是添加向量(类似于使用np.add时)

我想按“标签”分组并汇总输出。假设输出是二维向量,我希望向量是相加的,而不是组合的。因此,我的期望是:

label A: output is [[18,20,22,24],[26,28,30,32]]
label B: output is [[9,10,11,12],[13,14,15,16]]
但我得到了:

label A: [[1, 2, 3, 4], [5, 6, 7, 8], [17, 18, 19, 20],[21,22,23,24]]

label B: [[9, 10, 11, 12], [13, 14, 15, 16]]
解决方案
将熊猫作为pd导入
将numpy作为np导入
data=pd.DataFrame({'label':['A','B','A'],'label2':['X','Y','Z'],
‘输出’:[[1,2,3,4],[5,6,7,8],[[9,10,11,12],[13,14,15,16],[[17,18,19,20],[21,22,23,24]})
数据['output']=数据['output'].map(np.array)
data_grouped=data[['label','output']].groupby('label').sum()
打印(数据组)
>>>输出
>>>标签
>>>A[[18,20,22,24],[26,28,30,32]]
>>>B[[9,10,11,12],[13,14,15,16]]
解释 您的
输出包含python列表。操作
+
将两个列表连接在一起:

打印([1,2]+[3,4])
>>> [1, 2, 3, 4]
打印([[1]、[2]]+[[3]、[4]])
>>> [[1], [2], [3], [4]]
data['output'].map(np.array)
将二维列表转换为二维numpy数组。Numpy数组
+
操作(由
sum()
使用)对两个数组中“同一位置”上的值求和

label A: [[1, 2, 3, 4], [5, 6, 7, 8], [17, 18, 19, 20],[21,22,23,24]]

label B: [[9, 10, 11, 12], [13, 14, 15, 16]]