当前位置: 首页 > 面试题库 >

从整个熊猫数据框中返回最大值,而不是基于列或行

谭景明
2023-03-14
问题内容

我试图从整个熊猫数据框中获取最大值。我对它来自哪个行或列不感兴趣。我只对数据框中的单个最大值感兴趣。

这是我的数据框:

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(),或者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以来更大`’str’

‘int’`。

在Python3中,字符串和整数的比较产生一个TypeError

要仅在数字列中找到最大值,请使用

df.select_dtypes(include=[np.number]).max()


 类似资料:
  • 我有这样一个数据帧: 我如何摆脱第四行,因为它有sq_resid的最大值?注意:最大值将从一个数据集更改到另一个数据集,所以仅仅删除第4行是不够的。 我已经尝试了一些方法,比如我可以删除像下面这样留下数据帧的最大值,但是无法删除整行。

  • 问题内容: 我有两个看起来像这样的数据框: 现在,如果我利用pandas .isin函数,我可以做一些漂亮的事情 列和from存在于while中不 我的问题是:是否有人知道为df_2中但不存在于df_1中的列返回列标签的方法 像这样的东西 先感谢您! 问题答案: 熊猫索引对象具有类似集合的属性,因此您可以直接执行以下操作: 您还可以使用运算符来计算交集,并集和对称差: 过去存在差异的运算符,现已弃

  • 我有两个数据帧,是位置的位置,是站点的位置。我正试图找到一种更有效的方法来应用距离函数来查找在特定范围内的站点并返回站点名称。如果距离函数是纬度差,这是我的预期结果: 我有一个解决方案,使用笛卡尔产品/交叉连接在单个数据帧上应用一个函数。这个解决方案是可行的,但是我在一个真正的数据集中有数百万行,这使得笛卡尔产品非常慢。 我还尝试了使用的循环方法,但这比交叉连接方法慢。是否有一种更为通灵/高效的方

  • 我有一个包含多个列的DataFrame,我想检查特定的列值是否为NaN,如果是,我需要返回布尔值(True或False)。 我试过了 但它返回所有具有索引和布尔值的行。

  • 结束时更新更新2结束时更新 我从这里读到:从dataframe列获取列表 熊猫数据框列在拉出时是熊猫系列 然而,我的情况并非如此: 第一部分(建立DataFrame读取json刮擦)因为它包含业务信息,我不能显示完整的代码,但基本上它读取一行数据(存储在系列中),并在DataFrame的末尾追加。 下一部分(检查类型):(请忽略函数的功能) 最后调用函数:(“Raw_Impressions”是一个

  • 我有以下数据帧: 我需要删除等于的行。最有效的方法是什么?