为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理这种情况:“ n / a”在熊猫数据框中显示为“ nan”,但无法对其进行字符串匹配和替换

如何处理这种情况:“ n / a”在熊猫数据框中显示为“ nan”,但无法对其进行字符串匹配和替换

ibeautiful 2021-04-08 14:15:59
我有一个CSV文件,其中几行n/a。当我将其加载为pandas数据框时,显示为nan。当我使用类似功能这会导致问题split,lower等这些几行。data_df['column'][104]>>> nandata_df['column'][104].split()>>> AttributeError                            Traceback (most recent call last)<ipython-input-38-6efe06f0a4ec> in <module>()----> 1 data_df['column'][104].split()AttributeError: 'float' object has no attribute 'split'data_df['column'][104].lower()>>>AttributeError                            Traceback (most recent call last)<ipython-input-41-c80cc9ae0712> in <module>()----> 1 data_df['column'][104].lower()AttributeError: 'float' object has no attribute 'lower'当我尝试nan用空格替换s(不会导致这些错误)时,使用该fillna方法不会执行任何操作:data_df.fillna('')data_df['column'][104]>>> nan所以我尝试将其替换为字符串:for i in range(len(data_df)):    if data_df['column'][i]=='nan':        data_df['column'][i]=''data_df['column'][104]>>> nanfor i in range(len(data_df)):    if data_df['column'][i]=='n/a':        data_df['column'][i]=''data_df['column'][104]>>> nan以下内容不打印任何内容:for i in range(len(data_df)):    if (data_df['column'][i]=='nan' or data_df['column'][i]=='n/a'):        print(data_df['column'][i])为什么我无法捕捉和替换nans或n/as?以及我该如何解决?
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

data_df.fillna('')创建数据框的副本。如果要更改原始数据框,请致电data_df.fillna('', inplace=True)


查看完整回答
反对 回复 2021-04-27
  • 2 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信