如何使用groupby类别从系列的第一个值计算增量值

时间:2019-07-18 15:58:55

标签: python excel pandas

我有一个连续的系列数据,在这些数据中,我想根据一个范围或间隔的第一个值计算变化(累积或增量)值。我将数据分为18个范围,每个范围0.04439 m(总共18个范围)。

这是我的代码:

 Distance(m) = [0, 0.0022, 0.0044, .... 0.81 ]
  Height(m) = [ 0, 0.1, 0.5, 0.4, 0.9, .... 0.1]

  df3['categories'] = pd.cut(df3['Distance(m)'], bins)

  df4=df3.groupby('categories')['Hauteur(m)'].agg({'max': 'max', 'min': 'min', 'average': 'mean'})

这是结果:

  Hauteur_Acum(cm)  categories
  0 
  0,047998564   (0,0, 0,0444]
  0,538474493   (0,0, 0,0444]
  1,094536073   (0,0, 0,0444]
  1,243943902   (0,0, 0,0444]
  1,246167237   (0,0, 0,0444]
  1,432927212   (0,0, 0,0444]
  1,508075869   (0,0, 0,0444]
  1,417363865   (0,0, 0,0444]
  1,419142647   (0,0, 0,0444]
  1,38045665    (0,0, 0,0444]
  1,408470524   (0,0, 0,0444]
  1,359557147   (0,0, 0,0444]
  1,330653978   (0,0, 0,0444]
  1,6085707 (0,0, 0,0444]
  1,395575255   (0,0, 0,0444]
  1,412472641   (0,0, 0,0444]
  1,123884174   (0,0, 0,0444]
  1,31064396    (0,0, 0,0444]
  1,248390572   (0,0, 0,0444]
  1,230159336   (0,0, 0,0444]
  1,117214168   (0,0, 0,0444]
  0,968695825   (0,0, 0,0444]
  0,985148279   (0,0, 0,0444]
  1,030949024   (0,0, 0,0444]
  0,831034079   (0,0, 0,0444]
  0,864709963   (0,0444, 0,0888]
  0,969140378   (0,0444, 0,0888]
  0,821036536   (0,0444, 0,0888]
  0,875233712   (0,0444, 0,0888]

有人有什么建议可以帮助

我试图用'iat'函数在then列(Hauteur_Acum(cm))上固定第一个值,但仅固定所有数据中的一个值。我想将第一个固定在每个类别上,然后从中减去其他连续数据,以计算出我系列中的变化量。另外,我尝试将一个函数插入groupby.agg,但它不起作用。

iio=df1.iat[0,10]

df81 = df3.groupby('categories')['Hauteur_Acum(cm)'].agg({'value': 'df1.iat[0,10]'})

0 个答案:

没有答案