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

如何在Python中基于设定条件比对多列数据完成账户利率校验

Python银行账户利率合规校验实现方案

前置依赖

首先安装需要的工具库:

pip install pandas openpyxl

校验规则说明

  • 银行账户唯一标识为Account字段,账户关联Level1,Level1关联Level2,Level2对应唯一基准币种Currency
  • 需独立校验四个利率相关字段:Credit Rate、Credit Code、Debit Code、Debit Rate,四个字段关联的币种需与对应Level2的Currency完全匹配
  • 四个字段全部符合规则判定为正常,任意字段不匹配判定为异常

核心实现代码

import pandas as pd

# 1. 读取数据集,Excel和csv对应修改读取方法即可
df = pd.read_excel("你的数据集路径.xlsx")

# 2. 预生成Level2与对应币种的映射表,避免重复匹配提升效率
# 若有单独维护的Level2币种映射表,可单独读取生成该映射字典,避免业务数据脏值影响准确性
level2_currency_map = df.drop_duplicates(subset="Level2").set_index("Level2")["Currency"].to_dict()

# 3. 定义单条数据校验函数
def check_row(row):
    # 获取当前行对应Level2的基准币种
    standard_currency = level2_currency_map.get(row["Level2"])
    if not standard_currency:
        return "异常"
    # 校验逻辑可根据实际字段格式调整,例:若Rate字段仅存数值无币种标识,可删除对应校验行
    if (row["Credit Code"] == standard_currency 
        and row["Debit Code"] == standard_currency
        and str(row["Credit Rate"]).endswith(standard_currency)
        and str(row["Debit Rate"]).endswith(standard_currency)):
        return "正常"
    else:
        return "异常"

# 4. 应用校验规则生成新的校验结果列
df["校验结果"] = df.apply(check_row, axis=1)

# 5. 结果导出
df.to_excel("校验结果全量.xlsx", index=False)
# 仅导出异常数据供排查
df[df["校验结果"] == "异常"].to_excel("异常数据列表.xlsx", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:15:02