只有当两侧都存在值时,pandas才会进行插值

piR*_*red 8 python pandas

考虑 pd.Series s

import pandas as pd
import numpy as np

s = pd.Series([np.nan, 1, np.nan, 3, np.nan])
Run Code Online (Sandbox Code Playgroud)

如何进行插值以获得:

pd.Series([np.nan, 1, 2, 3, np.nan])

0    NaN
1    1.0
2    2.0
3    3.0
4    NaN
dtype: float64
Run Code Online (Sandbox Code Playgroud)

注意:我想要np.nan保留第一个和最后一个

当我在两侧都有值进行插值时,我只想填写值.

换句话说,我想插入,而不是推断.

Bou*_*oud 8

我这样做 - 跳过标题和尾随NA:

s.iloc[s.first_valid_index():s.last_valid_index()+1].interpolate()
Run Code Online (Sandbox Code Playgroud)

  • 我会在`ix`上使用`loc`,因为你要回到实际的索引,而`ix`将会很快被弃用(https://github.com/pandas-dev/pandas/issues/14218 ). (3认同)