Python 如何更换所有的;“南”;我的数据框中有空字符串的字符串?

Python 如何更换所有的;“南”;我的数据框中有空字符串的字符串?,python,string,pandas,dataframe,nan,Python,String,Pandas,Dataframe,Nan,我的数据框中分散着“None”和“nan”字符串。有没有办法用空字符串“或nan替换所有这些内容,以便在将数据框导出为excel工作表时不会显示它们 简化示例: 注意:col4中的nan不是字符串 ID col1 col2 col3 col4 1 Apple nan nan nan 2 None orange None nan 3 None nan banana nan 当我们用空字符串替换所有“None”和“nan”字符串后,输出应该

我的数据框中分散着
“None”和
“nan”字符串。有没有办法用空字符串
nan
替换所有这些内容,以便在将数据框导出为excel工作表时不会显示它们

简化示例:

注意:
col4
中的
nan
不是字符串

ID  col1   col2   col3   col4
1   Apple  nan    nan    nan
2   None   orange None   nan
3   None   nan    banana nan
当我们用空字符串替换所有
“None”和
“nan”字符串后,输出应该是这样的:

你知道怎么解决这个问题吗


谢谢,

使用熊猫馆。这些单元格在Excel中将为空(例如,您可以使用“选择空单元格”命令。空字符串不能执行此操作)


使用字符串列表替换为不会影响实际
nan
的空白字符串

df.replace(['nan', 'None'], '')
这将为您提供一个新的数据帧:

ID   col1    col2    col3  col4
1  Apple                   NaN
2         orange           NaN
3                 banana   NaN

您可以将每个列与numpy对象数据类型(基本上是文本列)进行比较,然后只替换这些列

for col in df:
    if df[col] == np.dtype('O'):  # Object
        df.col1.replace(['None', 'NaN', np.nan], "", inplace=True)

所有那些循环的解决方案

replacers = [None, np.nan, "None", "NaN", "nan"] # and everything else that needs replacing.
df.loc[:, df.dtypes == 'object'].replace(replacers, '', inplace=True)

您在寻找吗?为什么
col4
中的
nan
值保留在预期输出中?
for col in df:
    if df[col] == np.dtype('O'):  # Object
        df.col1.replace(['None', 'NaN', np.nan], "", inplace=True)
replacers = [None, np.nan, "None", "NaN", "nan"] # and everything else that needs replacing.
df.loc[:, df.dtypes == 'object'].replace(replacers, '', inplace=True)