为什么它会给出错误 - 无法连接非NDFrame对象

时间:2017-07-29 12:18:06

标签: python pandas

填充功能是将泰坦尼克号的所有不可用数据填入特定乘客类别的平均年龄

titanic['Age']=titanic[['Age','Pclass']].apply(fill,axis=1) 

sex=pd.get_dummies(titanic['Sex'],drop_first=True)

embarked=pd.get_dummies(titanic['Embarked'],drop_first=True)

titanic.drop(['Cabin','Embarked'],axis=1,inplace=True)

titanic.dropna(inplace=True)

titanic=pd.concat(['titanic','sex','embarked'],axis=1)

2 个答案:

答案 0 :(得分:2)

pd.concat要求您将dataframe列表作为参数而不是字符串列表。将您的代码更改为

titanic=pd.concat([titanic,sex,embarked],axis=1)

答案 1 :(得分:1)

我认为你的意思是:

titanic=pd.concat([titanic,sex,embarked],axis=1)

而不是:

titanic=pd.concat(['titanic','sex','embarked'],axis=1)

然而,附注:
如果您只是尝试删除NaN值并获取虚拟对象,则无需使用pandas.concat即可在原始数据框上执行此操作。

示例:

titanic = pd.get_dummies(titanic)

,只需使用dataframe.dropna

删除NaN值
titanic.dropna(inplace=True)

希望这有用。