我有一个像这样的数据框:
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中,最大差异在val1
和val2
= 19之间,但是在row.0中,最大差异在val1
和val5
= 33之间。
我试图添加一列max
和min
并在另一列中添加它们的区别。但是我在max()
函数上遇到问题,无法将其用于行值。
答案 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