熊猫插值没有给出我的期望

时间:2019-01-03 19:15:38

标签: pandas

我有一个看起来像这样的表(注意:TransactionDate是索引):

               GroupByFld | Amount
 TransactionDate 
 2014-03-31    | 1        | -0.000 
 2014-04-30    | 1        | nan 
 2014-05-31    | 1        | nan 
 2014-06-30    | 1        | -122129.805 
 2014-07-31    | 1        | nan 
 2014-08-31    | 1        | nan 
 2014-09-30    | 1        | -100553.145

我正在插值,我得到了:

               GroupByFld | Amount
 TransactionDate 
 2014-03-31    | 1        | -0.000 
 2014-04-30    | 1        | -73277.883
 2014-05-31    | 1        | -36638.942
 2014-06-30    | 1        | -122129.805 
 2014-07-31    | 1        | -12212.981
 2014-08-31    | 1        | 326146.968
 2014-09-30    | 1        | -100553.145

我用于执行此操作的代码如下。请注意,因为我的GroupByFld同时包含1和2,所以我对其进行了筛选,以便可以将插值分别应用于每个对象。出于调试目的,我将df限制为仅包含1,但是仍然遇到相同的问题。

for i in range(len(c['GroupByFld'].unique())):  # This will break if there are multiple group by criteria
      mask = c.loc[:,'GroupByFld']==c['GroupByFld'].unique()[i]
      c[mask]=c[mask].interpolate(method='linear')

1 个答案:

答案 0 :(得分:0)

好的答案在某些人看来似乎很明显,但实际上据我所见,并没有任何记录。

我假设只需将索引设置为日期,它就会自动知道如何对数据进行排序。相反,我必须首先使用以下命令强制其按正确的顺序排序:

c.sort_index(inplace=True)