如何提取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
相关产品推荐
相关产品推荐

