熊猫数据框groupby id和插值

时间:2019-11-28 10:03:56

标签: python pandas dataframe pandas-groupby interpolation

我有一个数据框,其中包含许多ID的十进制明智值,例如:

['nuxt-parse', {
      appId: "blablabla",
      javascriptKey: "blablabla",
      serverUrl: "https://parseapi.back4app.com"
  }

我想进行插值(可能是线性的)以获得每个id的逐年值。我该怎么办?

如果我想要按月计算的值(年份列本身也应包括月份)怎么办?该怎么做?

1 个答案:

答案 0 :(得分:1)

我相信您需要DataFrame.groupbyDataFrame.resampleResampler.interpolate

#for DatetimeIndex
df.index = pd.to_datetime(df['year'], format='%Y').rename('datetimes')

df = (df.groupby('id')['value']
        .apply(lambda x: x.resample('MS').interpolate())
        .reset_index())
print (df)
     id  datetimes     value
0     1 2020-01-01  0.090000
1     1 2020-02-01  0.090083
2     1 2020-03-01  0.090167
3     1 2020-04-01  0.090250
4     1 2020-05-01  0.090333
..   ..        ...       ...
477   2 2039-09-01  0.109667
478   2 2039-10-01  0.109750
479   2 2039-11-01  0.109833
480   2 2039-12-01  0.109917
481   2 2040-01-01  0.110000

[482 rows x 3 columns]