我创建了一个函数,当我把它应用到我的数据帧时,它返回错误。有人能帮我吗?在
def accompany_alone(passenger):
sib, parch = passenger
if sib >0:
return 'With Family'
elif parch >0:
return 'With Family'
else:
return 'Alone'
titanic_df['Alone'] =titanic_df[['SibSp','Parch']].apply(accompany_alone)
dataset"/>
Tags:
行}。错误是说需要两个元素(一个用于
sib, parch = passenger
假设passenger
有两个元素,您试图将它们分配给sib
和{sib
,一个用于parch
),但是只提供了一个(passenger
)。在如果您试图在每一行中应用
accompany_alone()
,那么只需显式地迭代行索引可能会更容易,例如,这样做可以:另外,请尝试使用
axis
参数DataFrame.apply()
,它的行为可能与您预期的不同(here's a link对于文档)。在这种错误是由返回值的数量与试图将它们存储到的变量数量不匹配造成的。更确切地说,在您的例子中,返回的值大于2,但是您试图将它们存储在两个变量}。在
sib
和{我不能给你一个确切的答案如何解决它,因为你没有显示旅客的确切格式,但这里有一个简短的例子来告诉你为什么会发生错误。在
假设您有以下情况:
这将引发您所面临的相同错误,因为a有3个值,但我们只使用2个变量来存储它们。要解决这个问题,我们可以:
^{pr2}$现在每个值分别存储在1个变量中,没有错误。在
与其标记Family和not Family,不如将其存储为True或False, 你能做到的
相关问题 更多 >
编程相关推荐