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

如何从DataFrame中提取满足另一DataFrame范围约束的最小子DataFrame

实现步骤

  1. 计算df1的y列极值
  2. 基于df1的极值计算df2的左右边界
  3. 按边界筛选df2得到目标df3

完整代码

import pandas as pd

# 示例数据构造
df1 = pd.DataFrame({'y': [3.0, 4.0, 5.0, 6.0]})
df2 = pd.DataFrame({'y': [1.0, 2.0, 5.0, 7.0, 8.0]})

# 步骤1:获取df1的y列最大最小值
df1_min_y = df1['y'].min()
df1_max_y = df1['y'].max()

# 步骤2:计算左右边界,增加空值判断兼容边界场景
left_series = df2[df2['y'] < df1_min_y]['y']
left_bound = left_series.max() if not left_series.empty else df2['y'].min()

right_series = df2[df2['y'] > df1_max_y]['y']
right_bound = right_series.min() if not right_series.empty else df2['y'].max()

# 步骤3:筛选df2得到df3,如果需要限制左边界则替换为 df2[(df2['y'] >= left_bound) & (df2['y'] <= right_bound)]
df3 = df2[df2['y'] <= right_bound].reset_index(drop=True)

print(df3)

输出结果

y
0  1.0
1  2.0
2  5.0
3  7.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:18:01