Python/Pandas—;将一列中的NaN替换为空/空白,将另一列替换为0。是否有可能有选择地替换Nan?

Python/Pandas—;将一列中的NaN替换为空/空白,将另一列替换为0。是否有可能有选择地替换Nan?,python,excel,pandas,Python,Excel,Pandas,Hi刚开始学习Python或自己编程,并尝试从Excel中读取数据帧并将其输入电子邮件。 字符串列中有一个空白,我想用空白替换Nan。在其他地方,我有另一个int列,我想将其格式化为{:1f},但有时它也包括NaN,因为我使用=IFERROR(…,“”),这是在格式化返回错误时。 除了在excel中将公式固定为=IFERROR(…,0)之外,如何解决此问题?在阅读工作表时,在pd.read\u excel函数中使用转换器 pd.read_excel('sheet.xlsx', sheet_nam

Hi刚开始学习Python或自己编程,并尝试从Excel中读取数据帧并将其输入电子邮件。 字符串列中有一个空白,我想用空白替换Nan。在其他地方,我有另一个int列,我想将其格式化为{:1f},但有时它也包括NaN,因为我使用=IFERROR(…,“”),这是在格式化返回错误时。
除了在excel中将公式固定为=IFERROR(…,0)之外,如何解决此问题?

在阅读工作表时,在
pd.read\u 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)
              }
)

欢迎来到StackOverflow!我们需要样本输入数据、数据帧的预期输出以及您遇到的任何错误(在问题中粘贴错误消息)。请阅读以下内容:,这有助于您了解如何改进您的问题,并增加获得有用答案的机会。您好,谢谢您的建议。我试过了,但没有改变。我假设,如果您尝试在读取选项中将NaN数据转换为“”,它只会再次转换为NaN。我想我需要样式器格式,使对象保持原样,但具有na_代表性。不管怎样,我很感激我了解了转换器。很奇怪。我确保'string_coI'的数据类型是Object,并且我还尝试了converters={'string_col':lambda x:N'if pd.isna(x)==False else x然后全部变为“N”。如果我将其设置为==True,则NaN不会变为“N”。因此,isna不会检测到NaN?但如果您设置为False,则保留默认值\u na=False,它肯定会将“字符串…”中的NaN替换为空白。无论如何,在完成所有其他样式设置后,我会使用set_na_rep('')完成此操作。