【发布时间】:2019-08-01 00:48:51
【问题描述】:
我目前正在研究 Kaggle 的泰坦尼克号生存预测。 当我想将“性别”特征编码为 0 或 1 时出现问题。 我已经关注了 Pandas 的官方文档,但它没有帮助。
编辑:我注意到我写的是“男性”而不是“男性”,但在我改为“男性”后仍然无法正常工作
非常感谢!
【问题讨论】:
标签: python pandas dataframe machine-learning
我目前正在研究 Kaggle 的泰坦尼克号生存预测。 当我想将“性别”特征编码为 0 或 1 时出现问题。 我已经关注了 Pandas 的官方文档,但它没有帮助。
编辑:我注意到我写的是“男性”而不是“男性”,但在我改为“男性”后仍然无法正常工作
非常感谢!
【问题讨论】:
标签: python pandas dataframe machine-learning
试试这个:
df['Sex'] = df['Sex'].replace(['male', 'female'], [1,0])
或者这个
df['Sex'].replace(['male', 'female'], [1,0], inplace=True)
问题是您在执行分配时设置了 inplace=True。这将改变系列(即,它将改变系列对象本身),它为整个系列返回 None ,这是错误的。所以把 inplace=False,或者做一个分配,但不能两者兼而有之。 使用 inplace=True 更改对象并返回 None,而 inplace=False 返回一个新对象。
【讨论】: