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

匹配并提取DataFrame中至少有一个值超指定范围的日期行ID

解决方法:提取Measure值超出范围的行ID

我来帮你搞定这个需求!我们可以用pandas一步步处理你的DataFrame,找出那些至少有一个Measure值超出指定范围的行,然后提取它们的ID(也就是你的Index列)。

步骤1:构造你的DataFrame

首先,我们先把你给出的数据转换成可操作的pandas DataFrame(注意处理<NA>为pandas的缺失值):

import pandas as pd

data = {
    'Index': [1, 2, 3, 4, 5, 6],
    'Measurement': [56.0, 56.0, 65.0, 129.1, 56.0, pd.NA],
    'Date': ['2018-03-16', '2018-03-16', pd.NA, '2018-03-16', '2018-03-16', '2018-03-16'],
    'Measure.1': [2, 78, 54, 78, 786, 34],
    'Date.1': ['2018-03-23', '2018-03-23', '2018-03-23', '2018-03-23', '2018-03-23', '2018-03-23'],
    'Measure.2': [12, 41234, 35, 12, 234, 4],
    'Date.2': ['2018-03-29', '2018-03-29', pd.NA, '2018-03-29', '2018-03-29', '2018-03-29'],
    'Measure.3': [22.0, 12.0, 323.0, 2.0, 21.0, 54.0],
    'Date.3': ['2018-04-05', '2018-04-05', '2018-04-05', '2018-04-05', pd.NA, '2018-04-05']
}

df = pd.DataFrame(data)

步骤2:定义数值范围

先设定你要检查的数值范围,比如这里我们假设范围是0到100,你可以根据实际需求修改:

lower_bound = 0
upper_bound = 100

步骤3:筛选所有Measure列

我们先把所有包含Measure的列筛选出来,这样不用手动列出来:

# 匹配所有包含"Measure"的列
measure_cols = df.columns[df.columns.str.contains('Measure')]

步骤4:标记超出范围的行

接下来,我们检查每一行是否存在至少一个Measure值超出范围(这里分两种情况处理缺失值):

情况1:缺失值不算超出范围

只判断数值是否在范围外,缺失值忽略:

out_of_range_mask = df[measure_cols].apply(
    lambda row: ((row < lower_bound) | (row > upper_bound)).any(),
    axis=1
)

情况2:缺失值视为不符合条件

如果只要有Measure列是缺失值,也需要提取该行ID:

out_of_range_mask = df[measure_cols].apply(
    lambda row: ((row < lower_bound) | (row > upper_bound) | row.isna()).any(),
    axis=1
)

步骤5:提取对应的ID

最后,我们根据标记的结果提取对应的Index值:

out_of_range_ids = df.loc[out_of_range_mask, 'Index']
print(out_of_range_ids)

结果示例

如果用情况1的条件(忽略缺失值),输出结果是:

2    2
3    3
4    4
5    5
Name: Index, dtype: int64

对应的行分别是:

  • 第2行:Measure.2 = 41234超出范围
  • 第3行:Measure.3 = 323超出范围
  • 第4行:Measurement = 129.1超出范围
  • 第5行:Measure.1 = 786超出范围

如果用情况2的条件(包含缺失值),第6行的Measurement是缺失值,也会被加入结果:

2    2
3    3
4    4
5    5
6    6
Name: Index, dtype: int64

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:25:45