因为需要按行应用函数,所以只需要
axis=1
:
from operator import add
df['C'] = df[['A','B']].apply(lambda x: list(map(add,x[0],x[1])), axis=1)
另一种选择是
explode
名单;
sum
; 然后
groupby.agg
要重新获取列表,请执行以下操作:
df['C'] = df.explode(['A','B']).sum(axis=1).astype(int).groupby(level=0).agg(list)
输出:
A B C
0 [1, 2, 3] [4, 5, 6] [5, 7, 9]
1 [10, 20] [40, 50] [50, 70]