【发布时间】:2016-07-20 18:29:53
【问题描述】:
我知道我可以向数据框添加一列并将其值更新为从函数返回的值,如下所示:
df=pd.DataFrame({'x':[1,2,3,4]})
def square(x):
return x*x
df['x_squared'] = [square(i) for i in df['x']]
但是,我面临一个问题,即实际函数返回两个项目,我想将这两个项目放在两个不同的新列中。我在这里写了一个伪代码来更清楚地描述我的问题:
df=pd.DataFrame({'x':[1,2,3,4]})
def squareAndCube(x):
return x*x, x*x*x
#below is a pseudo-code
df['x_squared'], df['x_cubed'] = [squareAndCube(i) for i in df['x']]
上面的代码给了我一条错误消息,说“要解压的值太多”。 那么,我应该如何解决这个问题?
【问题讨论】:
标签: python numpy pandas dataframe multiple-columns