【发布时间】:2023-03-06 06:02:01
【问题描述】:
我正在处理时间序列数据。从数据框列中删除小于或等于阈值的连续 NaN 时,我遇到了问题。我尝试查看一些链接,例如:
Identifying consecutive NaN's with pandas :识别连续 NaN 的位置以及计数值。
Pandas: run length of NaN holes:输出运行长度编码为 NaNs
这条车道上还有很多其他的,但没有一个真正告诉我们如何在识别后将它们移除。
我找到了一个类似的解决方案,但在 R 中: How to remove more than 2 consecutive NA's in a column?
我想要 Python 中的解决方案。
下面是例子:
这是我的数据框列:
a
0 36.45
1 35.45
2 NaN
3 NaN
4 NaN
5 37.21
6 35.63
7 36.45
8 34.65
9 31.45
10 NaN
11 NaN
12 36.71
13 35.55
14 NaN
15 NaN
16 NaN
17 NaN
18 37.71
如果 k = 3,我的输出应该是:
a
0 36.45
1 35.45
2 37.21
3 35.63
4 36.45
5 34.65
6 31.45
7 36.71
8 35.55
9 NaN
10 NaN
11 NaN
12 NaN
13 37.71
我如何才能删除小于或等于某个阈值 (k) 的连续 NaN。
【问题讨论】:
-
我只是在试验一个包含 100 列和每列 160000 个值的数据集时分析解决方案。一旦我决定哪一个对如此大的数据集有效,我会接受答案。
-
太棒了,感谢更新。