如何用数据帧中的空字符串替换所有“nan”字符串?

2024-03-29 06:28:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据帧中散布着"None""nan"字符串。是否有方法用空字符串""nan替换所有这些字符串,以便在将数据帧导出为excel工作表时它们不会显示?

简化示例:

注意:nan中的{}不是字符串

ID  col1   col2   col3   col4
1   Apple  nan    nan    nan
2   None   orange None   nan
3   None   nan    banana nan

当我们用空字符串替换所有"None""nan"字符串时,输出应该是这样的:

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

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

谢谢


Tags: 数据方法字符串noneid示例applenan
3条回答

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

import numpy as np
df.replace(['None', 'nan'], np.nan, inplace=True)

enter image description here

enter image description here

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

df.replace(['nan', 'None'], '')

这将为您提供一个新的数据框架:

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

您可以将每一列与numpy对象dtype(基本上是文本列)进行比较,然后只对这些列进行替换。

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

相关问题 更多 >