处理 pandas Python 中的缺失值和错误值

Handling missing values and wrong values in pandas Python

我正在尝试处理数据集中的缺失值。 我在 Python 3 中使用 pandas。 我有一列 'name' 应该只包含人名,但它也包含随机数。我怎样才能删除它们或将它们更改为 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 替换了它们,但是如何替换字符串列中的随机数?我必须手动执行此操作吗?

您可以用 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