我目前正在研究Kaggle的《泰坦尼克号生存预测》。
当我想将“性别”功能编码为0或1时出现问题。
我遵循了有关Pandas的官方文档,但这并没有帮助。

编辑:我注意到我写了“男”而不是“男”,但是在我改成“男”后仍然无法工作

python - pandas.DataFrame.replace似乎不起作用-LMLPHP

非常感激!

最佳答案

尝试这个:

df['Sex'] = df['Sex'].replace(['male', 'female'], [1,0])


或这个

df['Sex'].replace(['male', 'female'], [1,0], inplace=True)


问题是您在执行分配时已将inplace = True设置为。这将更改系列的位置(即,它将更改Series对象本身),这将为整个系列返回None,这是错误的。因此,将inplace = False或进行赋值,但不能两者都赋值。
使用inplace = True会更改对象并返回None,而inplace = False则返回一个新对象。

08-24 17:17