在熊猫Python中处理缺失值和错误值

时间:2020-04-28 15:13:05

标签: python pandas numpy data-science nan

我正在尝试处理数据集中的缺失值。 我在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替换了它们,但是如何替换字符串列中的随机数呢?我是否必须手动执行此操作?

1 个答案:

答案 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