如何根据聚类结果计算级别值之间的差异?

时间:2019-12-18 00:21:26

标签: python pandas numpy

假设我们有一个包含两列的pandas数据框:

Col1  Col2         
  0    15         
  0    20         
  0    30         
  1    40         
  1    45         
  0    50     
  0    55         
  2    60         
  2    70

我需要根据其他数据帧或数组中的col2计算此值:

Col1  Col2     
 0     30-15=15    
 1     45-40=5     
 0     55-50=5     
 2     70-60=10

最后的结果:

Col1  Col2     
  0    15    
  1    5     
  0    5     
  2    10

谢谢

1 个答案:

答案 0 :(得分:2)

使用np.ptp(从峰值到峰值)

df.groupby(df.Col1.ne(df.Col1.shift()).cumsum()).Col2.apply(np.ptp)

Col1  Col2     
  0    15    
  1    5     
  0    5     
  2    10