DeepSeek 数据清洗工具怎么用?校验日期和金额并隔离异常行

将固定格式日期和整数分金额写成校验规则,隔离异常行并保存原值与拒绝原因。

让 DeepSeek 辅助清洗业务数据时,先写出哪些日期和金额算有效。本例用 pandas 校验固定格式日期与非负整数分金额,把问题行放到 rejected.csv,合格行放到 clean.csv,保留原值和拒绝原因。

准备输入与运行环境

Python 3.11,安装 pandas。脚本内建立虚构三行数据:一行正常,一行无效日期,一行负金额。金额的规则是只接受非负整数分;如果实际表用“元”,应另定小数位与舍入规则。

DeepSeek 数据清洗工具怎么用?校验日期和金额并隔离异常行

给 DeepSeek 的任务说明

请校验 date、amount_cents 两列。date 严格为 YYYY-MM-DD 的有效日期;amount_cents 仅非负整数字符串。输出清洁行和问题行两个 CSV,问题行保存原值及原因。空值不能直接填零,不删除异常证据,输入行数要等于两种输出行数之和。

在本地运行与检查

将下面代码保存为 example_11.py。进入保存该文件的目录,在终端执行 python example_11.py。代码应由你检查后执行,按实际字段修改。

from pathlib import Path
import pandas as pd

outs = [Path("clean.csv"), Path("rejected.csv")]
if any(p.exists() for p in outs):
    raise FileExistsError("输出已存在,请换文件名")
df = pd.DataFrame({"date": ["2026-09-01", "2026-02-30", "2026-09-03"],
                   "amount_cents": ["12500", "7500", "-100"]}, dtype="string")
format_ok = df["date"].str.fullmatch(r"\d{4}-\d{2}-\d{2}", na=False)
parsed = pd.to_datetime(df["date"].where(format_ok), format="%Y-%m-%d", errors="coerce")
money_ok = df["amount_cents"].str.fullmatch(r"[0-9]+", na=False)
reasons = []
for i in df.index:
    why = []
    if pd.isna(parsed.loc[i]):
        why.append("invalid_date")
    if not money_ok.loc[i]:
        why.append("invalid_amount_cents")
    reasons.append(";".join(why))
audited = df.assign(reject_reason=reasons)
good = audited["reject_reason"].eq("")
clean = audited.loc[good].copy()
rejected = audited.loc[~good].copy()
assert len(clean) + len(rejected) == len(df)
clean.to_csv(outs[0], index=False, encoding="utf-8-sig")
rejected.to_csv(outs[1], index=False, encoding="utf-8-sig")
print("input", len(df), "clean", len(clean), "rejected", len(rejected))
print(rejected.to_dict("records"))

异常隔离优于静默修补

日期 2026-02-30 无效,程序不能猜成 2 月 28 日。负金额可能是退款,也可能违反本表规则:若业务允许退款,应把规则改为允许有符号金额并说明,不把所有负数默认删掉。

用真实文件替换示例

用 pd.read_csv("input.csv", dtype="string", keep_default_na=False) 读取副本,再核对字段名。保留原值以便追溯;有隐私的表不要整表粘贴给模型,只提供脱敏的字段和样例。通过规则的行也应抽查,字段合法不能证明金额真实。

怎样确认结果正确

示例应输出 input 3 clean 1 rejected 2。clean.csv 保留 2026-09-01 和 12500;rejected.csv 分别写 invalid_date 与 invalid_amount_cents。打开两个文件核对原值未被改写,行数之和仍为 3,再由业务人员确认拒绝规则。

适用边界与常见问题

这是一组虚构数据的规则清洗,没有真实业务效果或自动修复保证。缺失日期、退款、时区与金额精度需要业务定义;本例不做编号去重、统计推断或训练数据筛选。

资料依据

接口说明核验日期:2026 年 10 月 1 日。pandas 日期解析;CSV 读写。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/30327.html

赞 (0)
AI小管家的头像AI小管家
用 DeepSeek 学机器学习数学:从线性打分推导 sigmoid 概率
上一篇 1天前
PyTorch 随机种子怎么设置?用两次训练核对可重复性
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部