[英]min vs max difference in pandas dataframe by column
我有一个如下数据框,
40 50 60
Friday 2.68 2.41 2.02
Monday 4.07 3.74 3.41
Thursday 4.94 4.57 4.02
Tuesday 4.82 4.59 3.98
Wednesday 2.76 2.68 2.37
我想从40到90的每个值中减去最大值-最小值,然后从计算中找到键值(60)的最小值。
像[{40:[4.94 - 2.68 = 2.26]},{50:[4.59-2.41=2.18]},{60:[4.02-2.02 = 2]}]
,最后,
[{40:[2.26]},{50:[2.18]},{60:[2]}]
FinalOutput = 60
对于字典,请使用dict理解:
d = {k:[v] for k, v in df.max().sub(df.min()).items()}
print (d)
{'50': [2.1799999999999997], '40': [2.2600000000000002], '60': [1.9999999999999996]}
对于最小值idxmin
索引:
a = df.max().sub(df.min()).idxmin()
print (a)
60
详细说明 :
print (df.max().sub(df.min()))
40 2.26
50 2.18
60 2.00
dtype: float64
在一次计算中,您可以使用numpy.argmin
为df.columns
numpy.argmin
索引:
A = df.values
res = df.columns[(A.max(0) - A.min(0)).argmin()] # 60
如果需要中间值,则可以分开计算。 请注意, max
和min
方法的参数0
确保对每列执行计算。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.