如何从中查找数据行中两列值之间的最大差

时间:2018-07-30 13:51:09

标签: python pandas

我有一个像这样的数据框:

row     name   val1   val2   val3  val4  val5 
  0    sf_park   12     14    23     22    45 
  1    ny_park   21     40    36     38    39 
  2    dc_park   34     30    30     46    11 
  3    tx_park   20     22    22     29    91 

,我想在我的数据中添加一个新列,以显示值之间的最大差异。例如,在row.1中,最大差异在val1val2 = 19之间,但是在row.0中,最大差异在val1val5 = 33之间。 我试图添加一列maxmin并在另一列中添加它们的区别。但是我在max()函数上遇到问题,无法将其用于行值。

1 个答案:

答案 0 :(得分:2)

在第一个轴上使用np.ptp

df['new'] = np.ptp(df.iloc[:, 2:].values, 1)

   row     name  val1  val2  val3  val4  val5  new
0    0  sf_park    12    14    23    22    45   33
1    1  ny_park    21    40    36    38    39   19
2    2  dc_park    34    30    30    46    11   35
3    3  tx_park    20    22    22    29    91   71