我正在学习在Python中使用dropna()函数,以便删除包含NaN /'?'的行/列。他们的价值观。但是,即使在网上看到各种解决方案之后,尽管没有语法错误,我仍然无法删除数据。
我尝试了以下解决方案:
第一次尝试
df1 = df.dropna()
df1
续
df1.dropna(inplace=1)
df1
代码的第一部分给了我原始的数据帧
第二部分给我以下错误:
-------------------------------------------------- ---------------------------- ValueError Traceback(最近的呼叫 最后)在() ----> 1 df1.dropna(inplace = 1) 2 3 df1
〜\ Anaconda3 \ lib \ site-packages \ pandas \ core \ frame.py在dropna(self, 轴,如何,脱粒,子集,就位)4259 1蝙蝠侠 蝙蝠车1940-04-25 4260“”“ -> 4261 inplace = validate_bool_kwarg(inplace,'inplace')4262 if isinstance(axis,(tuple,list)):4263# GH20987
〜\ Anaconda3 \ lib \ site-packages \ pandas \ util_validators.py在 validate_bool_kwarg(值,arg_name) 224引发ValueError('对于参数“ {arg}”预期的类型布尔,收到' 225'type {typ}。'。format(arg = arg_name, -> 226 typ = type(value)。名称)) 227返回值 228
ValueError:对于参数“ inplace”,预期类型为bool,已接收类型
还有,dropna()函数还有更好的替代方法吗?
编辑1
NameError:名称'df1'未定义
PS 所有错误和问题都在代码中可见
链接到已使用的CSV文件= CSV
答案 0 :(得分:0)
您还应该将inplace = True
添加到替换功能
df.replace("?", np.nan, inplace = True)