我有一个数据框,其中包含表示缺失的各种不同值。我以一种方式修改它,现在它们都应该像这样指定为“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 函数的方法。
答案 0 :(得分:0)
使用 np.nan 替换“指标”:
modified_df = df.replace(missingness_indicators,'NaN')
与
modified_df = df.replace(missingness_indicators, np.nan)