【发布时间】:2014-12-19 10:18:10
【问题描述】:
给定这样的 DataFrame:
>>> df
0 1 2
0 2 3 5
1 3 4 7
还有一个返回多个结果的函数,像这样:
def sumprod(x, y, z):
return x+y+z, x*y*z
我想添加新列,所以结果是:
>>> df
0 1 2 sum prod
0 2 3 5 10 30
1 3 4 7 14 84
我已经成功使用返回一个结果的函数:
df["sum"] = p.apply(sum, axis=1)
但如果它返回多个结果,则不会。
【问题讨论】:
-
这是一个关于如何使用您的函数返回多列的一般问题,还是只是为了实现您的结果?例如:
df['sum'], df['prod'] = df.sum(axis=1), df.prod(axis=1)给你你想要的 -
这是一个普遍的问题。