我构建了一个pandas数据框架,其中包含一些由列表组成的列,如下所示:
A B C List_A List_B
10 10 5 [0, 5, 1] [10, 12, 0]
5 7 8 [6, 7, 4] [5, 2, 1]
...
我想做的是向dataframe添加一个额外的列,该列包含一个基于添加List_A
和List_B
的新列表,如下所示:
A B C List_A List_B List_add
10 10 5 [0, 5, 1] [10, 12, 0] [10, 17, 1]
5 7 8 [6, 7, 4] [5, 2, 1] [11, 9, 5]
...
我多次尝试都没有成功。我尝试过的一些示例及其产生的错误
df['List_add'] = [x + y for x, y in zip(df['List_A'], df['List_B'])]
Error: TypeError: unsupported operand type(s) for +: 'float' and 'list'
及
df['List_add'] = np.add(df['List_A'], df['List_B'])
结果是List_A
和List_B
的串联,而不是两个值逐值相加
有什么建议可以继续吗
这里我使用了一个简单的代码来解决这个问题:
修正你的代码
编辑: 要回答评论: 如果要划分新列表中的每个元素,可以按如下操作:
第一个答案的输出是一个规则的二维
numpy
数组,您可以将所有的正规函数应用于该数组(例如sum()
)相关问题 更多 >
编程相关推荐