我正在处理时间序列数据。从小于或等于阈值的连续列中删除nansi是一个问题。我试着查看一些链接,比如:
Identifying consecutive NaN's with pandas:标识连续的nan出现的位置和计数。在
Pandas: run length of NaN holes:输出nan的运行长度编码
在这条小路上还有很多其他的,但没有一个真正告诉我们如何在识别后移除它们。在
我发现了一个类似的解决方案,但在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,我的输出应该是:
^{pr2}$我如何删除小于或等于某个阈值(k)的连续nan。在
您可以创建一个指示符列来计算连续的nan。在
有几种方法,但我是这样做的:
cumsum
技巧确定一组连续的数字groupby
+transform
来确定每组的大小如果需要单调递增的整数索引,可以在末尾执行
df = df[m]; df.reset_index(drop=True)
步骤。在相关问题 更多 >
编程相关推荐