【发布时间】:2014-11-01 22:56:18
【问题描述】:
假设我有一个函数:
def fn(x)
y = x ** 2
z = x ** 3
return y, z
我想使用df['x'].apply(lambda x: fn(x)) 在单独的列中返回y 和z。仍然使用fn(x) 有没有好方法?实际上,我的函数会复杂得多 - 所以我只想在应用程序中运行一次,然后将 output[0]、output[1] 等分配给各个列。
【问题讨论】:
-
我想你可以直接写
df["y"], df["z"] = zip(*df["x"].apply(fn)),就像this question的回答一样。 -
完美 - 我认为这确实有效。非常感谢!
标签: python pandas user-defined-functions multiple-columns apply