将不同类型的缺失值转换为熊猫可识别的 NA

时间:2021-04-26 18:54:05

标签: python pandas

我有一个数据框,其中包含表示缺失的各种不同值。我以一种方式修改它,现在它们都应该像这样指定为“NaN”:

import numpy as np

import pandas as pd
import numpy as np
data = {'Name':['Tom', 'nick', '-', 'jack'],
        'Age':['20', '0', '19', ''],
       'color':['yellow','Na','blue','red']}

df = pd.DataFrame(data)


def missing_values(x):
    
    missingness_indicators = ["NaN","NAN","NA","Na","n/a", "na", "--","-"," ", "-inf", "inf", "nan", "None", "0", "", np.nan] 
    
    modified_df = df.replace(missingness_indicators,'NaN')

    modified_df["color"] = modified_df.loc[:,'color'].fillna(method='bfill', axis=0) #LOCF
    
    return modified_df

但是使用建立在已识别缺失值上的 Pandas 函数不起作用,我认为这是因为我没有导入指定了这些值的数据框(因为这会导致其他问题,我是处理比示例更大的数据集) 我现在正在寻找一种在此数据集上应用 .fillna 之类的 Pandas 函数的方法。

1 个答案:

答案 0 :(得分:0)

使用 np.nan 替换“指标”:

modified_df = df.replace(missingness_indicators,'NaN')

modified_df = df.replace(missingness_indicators, np.nan)