我正在尝试处理数据集中的缺失值。 我在Python 3中使用熊猫。 我有一列“名称”,只应包含人员姓名,但也应包含随机数。如何删除它们或将其更改为NaN,以便稍后删除它们或用新名称填充它们。 这是我处理第一个缺失值的方式:
df_test["name"] = df_test['name'].astype(str)
df_test['name'].replace('-inf', np.nan, inplace=True)
df_test['name'].replace('0', np.nan, inplace=True)
df_test
输出:
name
1 NaN
2 NaN
3 29014
...
10 21893
11 Amber Rose
所以前两个值是'-inf'和'0',我用NaN替换了它们,但是如何替换字符串列中的随机数呢?我是否必须手动执行此操作?
答案 0 :(得分:0)
您可以使用NaN
替换数字,如下所示:
df_test = pd.DataFrame({
'name': [np.NaN, np.NaN, '29014', '21893', 'Amber Rose']
})
df_test['name'] = np.where(
pd.to_numeric(df_test['name'], errors='coerce').isnull()==False,
np.NaN,
df_test['name']
)
df_test
name
0 NaN
1 NaN
2 NaN
3 NaN
4 Amber Rose