首页 > 解决方案 > Python/Pandas — 将一列中的 NaN 替换为空/空白,另一列替换为 0。是否可以选择性地替换 Nan?

问题描述

您好刚开始学习 Python 或编程本身并尝试从 Excel 中读取 DataFrame 并在电子邮件中对其进行验证。字符串列中有一个空白,我想用空白替换 Nan。在其他地方,我有另一个 int-column 我想格式化为 {:1f} 但它有时也包括 NaN,因为我使用 =IFERROR(...,""),这就是格式化返回错误的时候。除了将excel中的公式固定为=IFERROR(...,0)之外,我该如何解决这个问题?

标签: pythonexcelpandas

解决方案


pd.read_excel阅读工作表时在函数中使用转换器。

pd.read_excel('sheet.xlsx', sheet_name='bad', 
              converters={'string_col': lambda x: '' if pd.isna(x) else x,
                          'int_col': lambda x: x if pd.isna(x) else round(x,1)
              }
)

推荐阅读