我有一个包含几十列的数据框。我想用特定的数字或字符串替换NaN或空值,具体取决于列。有没有可行的字典方法?下面的字典示例,不确定如何将其应用于数据框。使用Python 2.7
mydict ={'ColA': -999, 'ColB': -888, 'ColC': 'TBD'}
答案 0 :(得分:0)
这有效:
# mydf = dataframe already in working memory
mydict = {'ColA': -999, 'ColB': -888, 'ColC': 'TBD'}
df_clean = mydf
for col in mydict:
fill_val = mydict.get(col)
df_clean[col] = df_clean[col].fillna(fill_val)
答案 1 :(得分:0)
只需使用pandas.DataFrame.fillna
:
import pandas as pd
df = pd.DataFrame({'ColA': [1, np.nan, 3], 'ColB':[10, np.nan, 30], 'ColC':[100, np.nan, 300]})
mydict ={'ColA': -999, 'ColB': -888, 'ColC': 'TBD'}
new_df = df.fillna(mydict)
print(new_df)
输出:
ColA ColB ColC
0 1.0 10.0 100
1 -999.0 -888.0 TBD
2 3.0 30.0 300