由于找不到DataFrame.interpolation()的“方法”-parameter的单个方法的声明,我在这里问:
熊猫的DataFrame.interpolation()是如何与它所考虑的行数有关的,它仅仅是NaNs前面的一行还是后面的行?或者是整个DataFrame (在100万行时如何工作?)
如果您已经知道在哪里查找,请随意分享到源代码的链接(因为https://github.com/pandas-dev/pandas/blob/06d230151e6f18fdb8139d09abf539867a8cd481/pandas/core/frame.py#L10916不包括“方法”的声明(例如“多项式”)。
发布于 2022-11-29 21:42:36
我在core/missing.py中找到了附件。
我的解释是,插值要么是用np.iter完成的,要么是,如果指定了方法,并且只在_interpolate_scipy_wrapper中可用。一个函数,我无法定位,但一个合理的猜测是,它是一个包装的枕木。
if method in NP_METHODS:
# np.interp requires sorted X values, #21037
indexer = np.argsort(indices[valid])
yvalues[invalid] = np.interp(
indices[invalid], indices[valid][indexer], yvalues[valid][indexer]
)
else:
yvalues[invalid] = _interpolate_scipy_wrapper(
indices[valid],
yvalues[valid],
indices[invalid],
method=method,
fill_value=fill_value,
bounds_error=bounds_error,
order=order,
**kwargs,
)
yvalues[preserve_nans] = np.nanhttps://stackoverflow.com/questions/71623291
复制相似问题