首页 > 解决方案 > Pandas 使用字典将空替换为基于列的值

问题描述

我有一个包含几十列的数据框。我想用特定的数字或字符串替换 NaN 或空值,具体取决于列。有没有可行的字典方法?下面的字典示例,不确定如何将其应用于数据框。使用 Python 2.7

mydict ={'ColA': -999, 'ColB': -888, 'ColC': 'TBD'}

标签: pandasreplace

解决方案


只需使用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

推荐阅读