【问题标题】:Pandas Interpolate returning ValueErrors for some methods and some sizes of dataframesPandas Interpolate 为某些方法和某些大小的数据帧返回 ValueErrors
【发布时间】: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


    【解决方案1】:

    我发现问题在于,对于记录较少的客户,我无法使用三次方法进行插值,因为他们没有至少 4 个已知点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多