dropna()函数和dropna()的替代方案存在问题

时间:2019-07-24 12:15:16

标签: python pandas dataframe

我正在学习在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

  1. 链接到我的Python笔记本Dealing with Missing Data.ipynb
  2. 我试图将inplace的参数值更改为True,但它给了我以下错误:
  

NameError:名称'df1'未定义

PS 所有错误和问题都在代码中可见

链接到已使用的CSV文件= CSV


1 个答案:

答案 0 :(得分:0)

您还应该将inplace = True添加到替换功能

df.replace("?", np.nan, inplace = True)