【发布时间】:2018-02-28 09:13:28
【问题描述】:
我的代码如下。如果我通过第一种方法调用该函数,它可以工作。但是,如果我使用第二种方法调用该函数,则会出现错误。我认为方法二应该起作用,因为该函数期望列作为其输入。为什么我们必须说在方法1中描述的列上运行函数?
train 是 pandas 数据框。
import pandas as pd
def impute_age(cols):
Age = cols[0]
Pclass = cols[1]
if pd.isnull(Age):
if Pclass == 1:
return 37
elif Pclass == 2:
return 29
else:
return 24
else:
return Age
#pd.isnull(train[['Age']])
#method 1
#train['Age'] = train[['Age','Pclass']].apply(impute_age, axis=1)
#method 2
impute_age(train[['Age','Pclass']])
【问题讨论】:
-
什么是
pd,最重要的是:什么是train? -
pd=pandas 和 train 是一个数据框..抱歉造成混淆
标签: python function pandas dataframe apply