dropna() 不接受 thresh 参数和传递给 axis 参数的列表

im7*_*im7 4 python nan pandas

我正在尝试 dropna(),已阅读文档。

我创建了一个示例数据框来使用:

        col1    col2    col3    col4
  0      a       1.0    2.0       3
  1      b       NaN    NaN       6
  2      c       NaN    8.0       9
  3      d       NaN    11.0     12
  4      e       13.0   14.0     15
  5      f       17.0   18.0     19
  6      g       21.0   22.0     23
Run Code Online (Sandbox Code Playgroud)

现在我遇到的问题是参数 thresh 以及将列表传递到参数轴。

a) Threshhold 被忽略并且 dropna() 不在任何行中运行

    df.dropna(thresh=1)
Run Code Online (Sandbox Code Playgroud)

和 df.dropna(thresh=2) 都返回未更改的原始 df 。

b) 传递给 axis 参数的列表指示 dropna() 应在两个轴上同时操作,该列表将被忽略。选择轴 0,这是默认值。

   df.dropna(axis=[0,1]) 
Run Code Online (Sandbox Code Playgroud)

返回:

  col1  col2    col3    col4
0   a   1.0      2.0    3
4   e   13.0    14.0    15
5   f   17.0    18.0    19
6   g   21.0    22.0    23
Run Code Online (Sandbox Code Playgroud)

我仔细阅读了文档,并在 stackoverflow 上研究了该主题,但我仍然无法弄清楚我做错了什么。

我们将不胜感激您的建议。

Ted*_*rou 5

dropna正在按预期工作。

对于您的第一个语句 a)df.dropna(thresh=1)迭代所有行并保留至少具有 1 个非 na值的每一行。所有行都至少有一个非 na 值,因此不会删除任何内容。thresh=2当- 所有行至少有 2 个非 na 值时也是如此。

对于你的第二个问题df.dropna(axis=[0,1]):列表的顺序很重要。在这里,行将在列之前先被删除。