You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取DataFrame中满足y≥0.45x条件的最后一个y值

提取DataFrame中满足y >= 0.45x的最后一个y值

用pandas可以快速实现需求,步骤如下:

  • 导入pandas库并构造目标DataFrame
  • 筛选出符合y >= 0.45 * x条件的行
  • 提取筛选结果的最后一行y值

完整代码示例

import pandas as pd

# 构造你提供的DataFrame数据
data = [
    [1.5, 875, 450],
    [1.3, 460, 232],
    [1.1, 225, 125],
    [1.7, 1725, 900],
    [1.6, 720, 460],
    [2.0, 22, 14],
    [1.7, 775, 450],
    [1.5, 880, 450],
    [2.4, 870, 455],
    [1.1, 425, 220],
    [1.8, 1750, 910],
    [1.3, 560, 320],
    [1.3, 430, 232],
    [2.1, 3090, 1840],
    [2.0, 1750, 7950],
    [1.7, 170, 895],
    [1.1, 350, 220],
    [1.2, 80, 45],
    [1.8, 169, 880],
    [1.7, 1700, 900],
    [1.9, 230, 130],
    [2.1, 540, 237],
    [0.8, 50, 28]
]

df = pd.DataFrame(data, columns=['t', 'x', 'y'])

# 筛选符合条件的行并取最后一个y值
filtered_rows = df[df['y'] >= 0.45 * df['x']]
last_target_y = filtered_rows['y'].iloc[-1]

print(last_target_y)

代码说明

  • df[df['y'] >= 0.45 * df['x']]:通过布尔索引筛选所有满足条件的行
  • filtered_rows['y'].iloc[-1]:用iloc[-1]定位筛选结果的最后一行,直接提取该行的y值

针对你提供的数据,运行代码后会输出结果28(最后一行的28 >= 0.45*50=22.5,满足条件)。

内容的提问来源于stack exchange,提问作者Zack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:10:49