return max value from pandas dataframe as a whole, not based on column or rows(从 pandas 数据框作为整体返回最大值,而不是基于列或行)
本文介绍了从 pandas 数据框作为整体返回最大值,而不是基于列或行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从整个 pandas 数据帧中获取最大值。我对它来自哪行或哪列不感兴趣。我只对DataFrame中的单个最大值感兴趣。
这是我的DataFrame:
df = pd.DataFrame({'group1': ['a','a','a','b','b','b','c','c','d','d','d','d','d'],
'group2': ['c','c','d','d','d','e','f','f','e','d','d','d','e'],
'value1': [1.1,2,3,4,5,6,7,8,9,1,2,3,4],
'value2': [7.1,8,9,10,11,12,43,12,34,5,6,2,3]})
如下所示:
group1 group2 value1 value2
0 a c 1.1 7.1
1 a c 2.0 8.0
2 a d 3.0 9.0
3 b d 4.0 10.0
4 b d 5.0 11.0
5 b e 6.0 12.0
6 c f 7.0 43.0
7 c f 8.0 12.0
8 d e 9.0 34.0
9 d d 1.0 5.0
10 d d 2.0 6.0
11 d d 3.0 2.0
12 d e 4.0 3.0
预期输出:
43.0
我假设df.max()可以完成这项工作,但它为每列返回一个最大值,但我对此不感兴趣。我需要整个数据帧的最大值。
推荐答案
可以使用df.to_numpy().max()
获取DataFrame中所有值的最大值,对于pandas < 0.24.0
我们使用df.values.max()
:
In [10]: df.to_numpy().max()
Out[10]: 'f'
最大值是f
而不是43.0,因为在CPython2中
In [11]: 'f' > 43.0
Out[11]: True
在CPython2中,不同类型的对象.是
按其类型名称排序。因此,自'str' > 'int'
以来,ANYstr
将大于ANYint
。
在Python3中,字符串和整数的比较会引发TypeError
。
若要仅在数值列中查找最大值,请使用
df.select_dtypes(include=[np.number]).max()
这篇关于从 pandas 数据框作为整体返回最大值,而不是基于列或行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:从 pandas 数据框作为整体返回最大值,而不是基于列或行


猜你喜欢
- python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
- 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
- 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01
- python-m http.server 443--使用SSL? 2022-01-01
- 如何将一个类的函数分成多个文件? 2022-01-01
- 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01
- pytorch 中的自适应池是如何工作的? 2022-07-12
- padding='same' 转换为 PyTorch padding=# 2022-01-01
- 沿轴计算直方图 2022-01-01
- 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01