【问题标题】:How do I drop rows from a Pandas dataframe based on the maximum value of the whole row?如何根据整行的最大值从 Pandas 数据框中删除行?
【发布时间】:2023-02-07 05:48:50
【问题描述】:

我想根据最大的条件删除行全部行中的值,而不是像本网站上的大多数解决方案那样逐列显示。

假设我有以下数据框:

AA BB
A 5 8
B 11 55

我想删除行的最大值 <= 50 的所有行。因此应删除行 A,因为行中的最大值仅为 8。 我该怎么做呢?

【问题讨论】:

  • 欢迎来到堆栈溢出!您似乎在要求某人为您编写一些代码。 Stack Overflow 是一个问答网站,而不是代码编写服务。请参阅How to Ask 了解如何编写有效的问题。并解释到目前为止你已经尝试过什么。
  • df[df.gt(50).any(axis=1)]

标签: python pandas


【解决方案1】:

您可以保留正确的行,而不是删除行:

>>> df[df.max(axis=1).gt(50)]
    AA   BB
B    11  55

# Or suggested by @BigBen
>>> df[df.gt(50).any(axis=1)]
    AA   BB
B    11  55

【讨论】:

    猜你喜欢
    • 2016-07-07
    • 2016-05-07
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 2016-06-01
    相关资源
    最近更新 更多