【发布时间】:2020-05-22 02:49:37
【问题描述】:
我在 Pandas 数据帧的插值方面遇到了一些问题。
基本上,我有一个 295339 行的数据框,并人工生成了 nan 来研究不同的采样率和完成方法。
问题是,当我对采样率和完成方法进行一些组合时,一切都会奏效,而对于其他人,我会收到以下错误消息,
ValueError: The number of derivatives at boundaries does not match: expected. 1, got 0+0.
ValueError 的类型取决于我使用的采样率和完成方法的组合。
例如,如果我每小时为每位客户制作一个 nan,然后使用线性或三次方法进行插值,它就可以工作。但是,如果我每四个小时对每个客户进行一次采样,它适用于线性方法,但不适用于三次方法(下面的插值代码):
latitude = my_frame.filter(['Customer_id', 'Lat'], axis=1)
latitude = latitude.groupby('Customer_id').apply(lambda group: group.interpolate(method= 'cubic')
奇怪的是,在我的测试中,出于速度目的,我将我的方法限制为 3 个客户(代表 8500 行),并且没有提出任何问题。
所以,我的问题是为什么会发生这种情况,是否有任何解决方法。
【问题讨论】:
标签: python pandas interpolation