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

标签 python pandas nan

我正在试验 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

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

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

    df.dropna(thresh=1)

和 df.dropna(thresh=2) 两者都返回原始 df 不变。

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

   df.dropna(axis=[0,1]) 

返回:

  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

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

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

最佳答案

dropna 正在按预期工作。

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

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

关于python - dropna() 不接受 thresh 参数和传递给轴参数的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41485847/

相关文章:

python - 比较数据帧后,输出 CSV 未返回所有行

python - numpy.isnan(value) 与 value == numpy.nan 不同吗?

python - 我正在寻找 Orange 中的特定算法

python - 使用beautifulsoup时如何找出正确的编码?

python - 将 JSON 导入 Pandas

python - 如何定义获取第一个元素的 python lambda?

jquery - jQuery 中的左边框宽度返回 NaN

double.NaN - 这个违反直觉的功能是如何工作的?

python - 是否可以访问 pandas groupby 转换中的列名?

python - 什么时候需要在 Python 中的整数周围添加引号