人工智能训练师三级:CSV导入后,先验收这三项

TIVIA人工智能训练师三级实操备考:用三行自拟CSV核对行数、列名与缺失值,附可运行代码和自测。

发布:2026-10-30 · TIVIA

人工智能训练师三级上机练习里,CSV没有报错,只能说明读取步骤完成。进入统计前,先回答三个问题:读进来多少行?列名对不对?哪些列有缺失值?

先建立预期,再看结果

下面用三行自拟学习记录练习验收,只有learner_id和score两列。第二行分数留空,因此预期是3行、2列,score缺失1个。样例不含真实学员数据,也不是官方真题。

from io import StringIO
import pandas as pd

text = "learner_id,score\nA01,80\nA02,\nA03,90\n"
df = pd.read_csv(StringIO(text))
print(df.shape)
print(df.columns.tolist())
print(df.isna().sum().to_dict())
assert df.shape == (3, 2)
assert df.columns.tolist() == ["learner_id", "score"]
assert df.isna().sum().to_dict() == {"learner_id": 0, "score": 1}

输出如何判断

依次输出:(3, 2)、['learner_id', 'score']、{'learner_id': 0, 'score': 1}。shape里的行数不包含表头;columns核对实际列名;isna().sum()按列统计缺失数量。断言通过,表示这份样例符合事先写下的验收条件。

三种异常,先查原因

如果只剩1列,先核对分隔符;如果列名看似正确但取列失败,检查大小写、前后空格和隐藏字符;如果缺失数量超出预期,先回到源文件确认空字段及读取参数。read_csv默认会把空字段和部分约定标记识别为缺失,具体行为取决于参数。不要看到空值就直接全部填0或删行。

注意:isna()不会把已经读成普通字符串的空字符串或纯空格自动视为缺失。示例中的空字段是在read_csv默认解析时被识别为缺失。实际验收应记录分隔符、编码、缺失标记和列的含义。

一分钟自测

如果把样例里的A02分数改成0,shape应改变吗?缺失统计应是多少?答案:仍是(3, 2),两列缺失均为0。0是一个实际数值,不能仅凭它看起来像“没成绩”就认定缺失;业务含义需要另行确认。

把验收接到自己的练习里

今天只做一个动作:读取自己的练习文件后,写下实际行数、列名和每列缺失数,再与题目要求核对。已有CSV入门教程和教学样例包可以继续使用;样例包是另一份2行2列数据,不应套用本文的3行及缺失1个断言。

学习范围参考TIVIA实操项目1.1.1的数据读取填空;本文额外讲解导入后验收,技术行为独立依据pandas官方文档核对。TIVIA包含理论题学习与上机代码填空等学习内容;官网免费练习为固定样本,完整版范围以产品说明为准。

本文由TIVIA产品方发布,使用AI辅助整理并实测示例,不作考试通过、命中率或提分承诺。

CSV读取教程 · 已有教学样例包 · 免费理论练习

技术参考(核验:2026-10-30):pandas.read_csv、DataFrame.isna。

微信学习群二维码

扫码加入学习群

使用微信扫描上方二维码