如何基于整行最大值删除Pandas DataFrame中的行?
Pandas基于行最大值筛选行(删除最大值≤50的行)
针对你给出的DataFrame,可通过以下代码实现需求:
- 先构造示例DataFrame:
import pandas as pd data = {'AA': [5, 11], 'BB': [8, 55]} df = pd.DataFrame(data, index=['A', 'B'])
- 按行计算最大值,再通过布尔索引筛选出符合条件的行(等价于删除最大值≤50的行):
filtered_df = df[df.max(axis=1) > 50]
结果展示
执行后得到的filtered_df仅保留行B:
| AA | BB | |
|---|---|---|
| B | 11 | 55 |
关键说明
df.max(axis=1):指定axis=1会按行计算所有列的最大值,得到结果为A:8, B:55的Series- 布尔索引
df[df.max(axis=1) > 50]自动过滤掉最大值不满足条件的行,直接得到目标结果
内容的提问来源于stack exchange,提问作者Sanjiv Prasad
相关产品推荐
相关产品推荐

