出生年份与年龄匹配校验及不匹配数据行过滤方法咨询
通用校验逻辑
核心判断规则为 出生年份 + 年龄 == 2021,返回结果为False的即为不匹配行,直接过滤即可。
场景1:Excel/WPS表格操作
- 新增辅助列,假设出生年份在A列、年龄在B列,第一行为表头,第二行起为数据,辅助列第二行输入公式:
=IF(A2+B2=2021,"匹配","不匹配") - 下拉填充整列后,筛选辅助列值为不匹配的行,直接删除即可
场景2:Python Pandas操作
- 假设数据存放在DataFrame对象
df中,出生年份列名为birth_year,年龄列名为age,过滤代码如下:
# 仅保留匹配成功的行 df = df[df['birth_year'] + df['age'] == 2021] # 也可单独提取不匹配行另行存储 invalid_rows = df[df['birth_year'] + df['age'] != 2021]
场景3:SQL操作
- 假设表名为
user_info,出生年份字段为birth_year,年龄字段为age,过滤/删除语句如下:
-- 仅查询匹配成功的行 SELECT * FROM user_info WHERE birth_year + age = 2021; -- 直接删除不匹配的行 DELETE FROM user_info WHERE birth_year + age != 2021;
注意事项
- 提前校验出生年份、年龄两列的数据类型,必须为数值型,避免文本类型导致计算报错
- 如果数据中的年龄统计规则为虚岁,可根据实际需求把判断阈值调整为2022后再执行校验
内容的提问来源于stack exchange,提问作者nero7
相关产品推荐
相关产品推荐

