替换Pandas数据框中的** NULL **值

时间:2019-03-13 09:36:48

标签: python pandas dataframe missing-data

我在这里拔头发。我需要在熊猫数据框列中替换 null 值。这些具体是空值,而不是NaN值。

我尝试过:

trainData['Embarked'].replace(trainData['Embarked'].isnull, embarkedMost, regex=True)

trainData['Embarked'].replace('', embarkedMost, regex=True)

trainData['Embarked'].replace('', embarkedMost, regex=True, inplace=True)

trainData['Embarked'].str.replace('', embarkedMost, regex=True)

trainData['Embarked'].isnull().replace(np.nan, embarkedMost, regex=True)

trainData['Embarked'].fillna(embarkedMost)

trainData['Embarked'].str.replace(np.Nan, embarkedMost, regex=True)

trainData['Embarked'].str.replace(pd.isnull, embarkedMost, regex=True)

trainData['Embarked'].replace(r'^\s+$', embarkedMost, regex=True, inplace=True)

然后:

trainData.to_csv(os.path.join(os.path.dirname(__file__), 'full.csv'), sep=',')

此后,我将数据集加载到excel中进行检查,但这些都没有改变数据集。

这为我提供了正确的空值索引:

print(np.where(pd.isnull(trainData['Embarked'])))

我想将apply与lambda一起使用,但阅读到它效率极低。

1 个答案:

答案 0 :(得分:0)

别打扰大家

解决了:

trainData['Embarked'] = trainData['Embarked'].fillna(embarkedMost)

我想我可能已经在其他目录中打开了一个csv