繁体   English   中英

列中熊猫数据帧的最小与最大差异

[英]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.argmindf.columns numpy.argmin索引:

A = df.values

res = df.columns[(A.max(0) - A.min(0)).argmin()]  # 60

如果需要中间值,则可以分开计算。 请注意, maxmin方法的参数0确保对每列执行计算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM