【发布时间】:2019-09-29 14:45:24
【问题描述】:
我正在尝试处理泰坦尼克号数据集。我想将 Sex 列转换为二进制值。这是我的尝试:
sex = train_dataset['Sex'].replace([0,1],['female','male'],inplace=True)
当我尝试print(sex)时,控制台输出None!
我也尝试在 SO 上实施其他方法,但它们似乎都不起作用。以下是我的完整源代码:
import pandas as pd
from numpy import corrcoef
train_dataset = pd.read_csv("https://raw.githubusercontent.com/oo92/Titanic-Kaggle/master/train.csv")
test_dataset = pd.read_csv("https://raw.githubusercontent.com/oo92/Titanic-Kaggle/master/test.csv")
survived = train_dataset['Survived']
pClass = train_dataset['Pclass']
#Doesn't work
sex = train_dataset['Sex'].replace([0,1],['female','male'],inplace=True)
age = train_dataset['Age']
fare = train_dataset['Fare']
parch = train_dataset['Parch']
sibSp = train_dataset['SibSp']
# print("Correlation between parent-children & survival is: " + str(corrcoef(survived, parch)))
# print("Correlation between age & survival is: " + str(corrcoef(survived, age)))
# print("Correlation between Siblings/Spouse & survival is: " + str(corrcoef(survived, sibSp)))
print(sex)
【问题讨论】:
-
您正在使用选项
inplace=True,这会更改train_dataset实例,而不是返回值。现在您知道使用inplace=True时不会返回任何值,您就会明白sex应该等于None,因为没有任何返回 -
谢谢@KenHBS 在理查德发布他的答案之前我已经注意到了。尽管如此,我还是感谢您的帮助。我赞成你的评论。如果您认为这是一个很好的问题,您能否也给我一个赞成票?
标签: python pandas machine-learning categorical-data kaggle