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