我正在尝试从整个熊猫数据框中获取最大值.我对这行或列不感兴趣.我只是对数据帧中的单个最大值感兴趣.
这是我的数据框:
df = pd.DataFrame({'group1': ['a','a','b','c','d','d'],'group2': ['c','e','f','e'],'value1': [1.1,2,3,4,5,6,7,8,9,1,4],'value2': [7.1,10,11,12,43,34,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()将做这个工作,但它返回每个列的最大值,但我不感兴趣.我需要整个数据帧的最大值.
解决方法
DataFrame中的所有值的最大值可以使用df.values.max()获得:
In [10]: df.values.max() Out[10]: 'f'
max是f而不是43.0,因为在CPython2中,
In [11]: 'f' > 43.0 Out[11]: True
在CPython2,Objects of different types … are
ordered by their type names中.所以任何str都比“str”> “诠释”.
在Python3中,string和int的比较引发了一个TypeError.