【发布时间】:2017-10-11 20:16:23
【问题描述】:
我有一个熊猫数据框df,其形状如下:(763, 65)
我使用以下代码创建了 4 个新列:
df[['col1', 'col2', 'col3','col4']] = df.apply(myFunc, axis=1)
def myFunc(row):
#code to get some result from another dataframe
return result1, result2, result3, result4
myFunc 返回的数据框的形状是(1, 4)。代码遇到如下错误:
ValueError: 传递值的形状是 (763, 4),索引意味着 (763, 65)
我知道df 有65 列,而myFunc 返回的数据只有4 列。但是,我只想创建 4 个新列(即 col1、col2 等),因此我认为当它只返回 myFunc 中的 4 个列时代码是正确的。我做错了什么?
【问题讨论】:
-
您能否提供一个适合您情况的minimal reproducible example?显然,您不需要提供 65 列。 5列应该没问题。
标签: python pandas dataframe apply