Pandas 防止插值进行外推

Pandas 防止插值进行外推,pandas,interpolation,Pandas,Interpolation,我试图插值一个包含NaN的数据。我想填充1-3个连续的NaN,但我不知道如何使用pd.interpolate()来填充 原始数据: 0 NaN 1 NaN 2 NaN 3 4.0 4 5.0 5 NaN 6 NaN 7 NaN 8 NaN 9 10.0 10 NaN 11 NaN 12 NaN 13 14.0 尝试插值: 0 NaN 1 NaN 2

我试图插值一个包含NaN的数据。我想填充1-3个连续的NaN,但我不知道如何使用pd.interpolate()来填充

原始数据:

0      NaN
1      NaN
2      NaN
3      4.0
4      5.0
5      NaN
6      NaN
7      NaN
8      NaN
9     10.0
10     NaN
11     NaN
12     NaN
13    14.0
尝试插值:

0      NaN
1      NaN
2      NaN
3      4.0
4      5.0
5      6.0
6      7.0
7      8.0
8      9.0
9     10.0
10    11.0
11    12.0
12    13.0
13    14.0
预期结果:

0      NaN
1      NaN
2      NaN
3      4.0
4      5.0
5      NaN
6      NaN
7      NaN
8      NaN
9     10.0
10    11.0
11    12.0
12    13.0
13    14.0

任何帮助都将不胜感激:)

创建一个布尔掩码,以查看哪些
NA组
具有少于4个连续的
NA

mask = (data_chunk.notnull() != data_chunk.shift().notnull()).cumsum().reset_index().groupby(0).transform('count') < 4

谢谢你,这正是我害怕的。我希望我只是不明白如何正确使用pd.interpolate。奇怪的是,这不是函数的一部分。我同意,如果能够指定一个使其工作的附加限制,那就太好了
mask = (data_chunk.notnull() != data_chunk.shift().notnull()).cumsum().reset_index().groupby(0).transform('count') < 4
pd.concat([interpolated[mask.values[:,0] ==True], data_chunk[mask.values[:,0] == False]]).sort_index()