AI-Agent 面试题汇总 - Python数据分析篇

1. Python 数据分析常用库有哪些?各自作用是什么?

  • NumPy:高性能数值计算、矩阵运算
  • pandas:表格数据处理(DataFrame)
  • matplotlib / seaborn:可视化
  • scikit-learn:特征工程与机器学习工具
  • scipy:科学计算与统计函数

2. 什么是 Series 和 DataFrame?

  • Series:一维带索引数组
  • DataFrame:二维表格结构(行列索引),是分析工作主力数据结构。

3. 如何将字典创建为 DataFrame?(宝典同类高频)

import pandas as pd

data = {"name": ["Tom", "Bob"], "score": [88, 92]}
df = pd.DataFrame(data)
print(df)

4. 如何查看 DataFrame 的基本信息?

df.head()
df.tail()
df.shape
df.info()
df.describe()

5. 如何输出 df 的所有列名?

print(df.columns)
# 或
print(df.columns.tolist())

6. 如何修改第二列列名为 popularity?

cols = df.columns.tolist()
cols[1] = "popularity"
df.columns = cols

7. 如何筛选包含 "Python" 的行?

result = df[df["content"].str.contains("Python", na=False)]

8. 如何统计 grammar 列每种语言出现次数?

df["grammar"].value_counts()

9. loc 和 iloc 的区别是什么?

  • loc:按标签取值
  • iloc:按位置下标取值

10. 如何新增一列并按条件赋值?

df["level"] = "low"
df.loc[df["score"] >= 90, "level"] = "high"

11. apply、map、applymap 区别?

  • map:Series 元素级映射
  • apply:按行/列应用函数
  • applymap:DataFrame 每个元素应用函数(新版常建议用 map/向量化替代)

12. 什么是向量化操作?为什么重要?

向量化是直接对整列/数组运算,避免 Python for 循环,速度更快、代码更简洁。

13. 如何处理缺失值(NaN)?

df.isna().sum()
df.dropna()
df.fillna(0)
df["age"] = df["age"].fillna(df["age"].median())

14. 缺失值填充常见策略有哪些?

  • 数值:均值/中位数/分组统计填充
  • 类别:众数/“unknown”
  • 时间序列:前向填充、后向填充

15. 如何删除重复值?

df.drop_duplicates()
df.drop_duplicates(subset=["user_id"], keep="last")

16. groupby 的核心作用是什么?

按某些维度分组后做聚合(sum/mean/count 等),是业务报表与指标分析核心能力。

17. groupby 常见聚合怎么写?

df.groupby("channel")["amount"].sum()
df.groupby("channel").agg({"amount": ["sum", "mean"], "user_id": "nunique"})

18. pivot_table 和 groupby 的区别?

pivot_table 更适合做透视分析(行列交叉汇总),groupby 更通用灵活。

19. merge / join / concat 的区别?

  • merge:按键值做数据库式关联
  • join:基于索引关联(DataFrame 方法)
  • concat:按行或列拼接

20. 常见 join 类型有哪些?

inner / left / right / outer,和 SQL 语义一致。

21. 如何把字符串日期转 datetime?

df["dt"] = pd.to_datetime(df["dt"], errors="coerce")

22. 时间序列分析常用操作有哪些?

  • 按天/周/月聚合
  • 滚动窗口(rolling)
  • 重采样(resample)
  • 同比/环比计算

23. 如何按月统计销售额?

df["dt"] = pd.to_datetime(df["dt"])
monthly = df.resample("M", on="dt")["amount"].sum()

24. 什么是异常值?常见检测方法?

异常值是明显偏离分布的数据点。常见方法:IQR(箱线图法)、Z-Score、业务阈值法。

25. 如何用 IQR 去除异常值?

q1 = df["x"].quantile(0.25)
q3 = df["x"].quantile(0.75)
iqr = q3 - q1
df2 = df[(df["x"] >= q1 - 1.5*iqr) & (df["x"] <= q3 + 1.5*iqr)]

26. 标准化和归一化有什么区别?

  • 标准化:变成均值0方差1
  • 归一化:缩放到固定区间(如 0~1)

27. fit、transform、fit_transform 区别是什么?

  • fit:在训练集上学习参数(如均值、方差)
  • transform:用已学参数转换数据
  • fit_transform:两者合并(通常用于训练集)

28. 为什么必须先划分训练集再做标准化?

避免数据泄漏。应在训练集 fit,对训练/验证/测试集分别 transform

29. 如何做 one-hot 编码?

pd.get_dummies(df, columns=["city"], drop_first=True)

30. LabelEncoder 和 One-Hot 的适用场景?

  • LabelEncoder:通常用于标签 y(分类目标)
  • One-Hot:用于无序类别特征 X

31. 如何处理类别不平衡?

常见:下采样、上采样、SMOTE、调类权重、改评估指标(AUC/F1/PR)。

32. 训练/验证/测试集如何划分?

常见 7:2:1 或 8:1:1;小样本常用交叉验证增强稳定性。

33. K 折交叉验证的作用是什么?

降低单次划分偶然性,让模型评估更稳健。

34. 分类任务常用评估指标有哪些?

Accuracy、Precision、Recall、F1、ROC-AUC、PR-AUC。样本不平衡时更关注 Recall/F1/PR-AUC。

35. 回归任务常用评估指标有哪些?

MAE、MSE、RMSE、R²。对异常值敏感性:MSE/RMSE 通常更敏感。

36. 什么是数据泄漏?举例说明

训练时使用了线上不可得信息或未来信息。例如用“是否退款结果”预测“是否会退款”,就属于标签泄漏。

37. EDA(探索性数据分析)一般做什么?

看分布、缺失、异常、相关性、分组表现、时间趋势,提出可验证假设。

38. AI-Agent 场景下常见分析任务有哪些?

  • 会话日志分析(转化、留存、失败原因)
  • Prompt 版本效果对比(A/B)
  • 工具调用成功率与延迟分析
  • 用户反馈与满意度分层分析

39. 如何分析“Agent 回复质量下降”?

常见思路:先按时间/版本切片 → 看输入分布变化 → 看工具调用链路(超时/失败)→ 看模型参数与提示词改动 → 回归实验确认根因。

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以&ldquo;原理+场景+实战&rdquo;为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论

相关推荐

头像
03-05 16:52
已编辑
北京邮电大学 Java
最近做了一个企业级&nbsp;RAG&nbsp;智能体项目&nbsp;Ragent,基于&nbsp;SpringBoot&nbsp;技术栈&nbsp;+&nbsp;手搓&nbsp;RAG,完整开源了。不是&nbsp;Demo&nbsp;级别的调&nbsp;API&nbsp;玩具,是覆盖了&nbsp;RAG&nbsp;全链路的工程实现,分享出来给大家参考。GitHub:https://github.com/nageoffer/ragent为什么做这个项目现在面试越来越多地问&nbsp;AI&nbsp;相关的东西——RAG&nbsp;怎么做的?Agent&nbsp;怎么实现?MCP&nbsp;了解吗?但市面上大部分&nbsp;RAG&nbsp;教程要么是&nbsp;Python&nbsp;生态,要么停留在调&nbsp;API&nbsp;跑通&nbsp;Demo&nbsp;的阶段,离真正能上线的系统差距很大。所以基于自己在公司实际落地&nbsp;RAG&nbsp;系统的经验,做了&nbsp;Ragent&nbsp;这个项目,把企业里真正会遇到的问题都实现了一遍。核心能力▪&nbsp;多路检索引擎:意图定向&nbsp;+&nbsp;全局向量双通道并行,检索结果经去重、重排序等后处理流水线。▪&nbsp;意图识别:树形意图分类体系,置信度不足时主动引导澄清。▪&nbsp;问题重写与拆分:多轮对话自动补全上下文,复杂问题拆分为子问题分别检索。▪&nbsp;会话记忆:滑动窗口&nbsp;+&nbsp;自动摘要压缩,控制&nbsp;Token&nbsp;成本的同时保留关键上下文。▪&nbsp;模型路由与容错:多模型候选、优先级调度、首包探测、三态熔断器、自动降级。▪&nbsp;MCP&nbsp;工具调用:知识检索与外部系统调用在同一流程中无缝融合。▪&nbsp;文档入库&nbsp;ETL:基于节点编排,从解析、分块、向量化到写入&nbsp;Milvus,每步可配置、有日志。▪&nbsp;全链路追踪:每次对话的重写、意图、检索、生成各环节都有&nbsp;Trace&nbsp;记录。技术栈后端:Java&nbsp;17、Spring&nbsp;Boot&nbsp;3、MyBatis&nbsp;Plus、Milvus&nbsp;2.6、Redis&nbsp;+&nbsp;Redisson、RocketMQ&nbsp;5.x、Apache&nbsp;Tika、Sa-Token前端:React&nbsp;18、TypeScript、Vite代码量:后端约&nbsp;4w&nbsp;行,前端约&nbsp;1.8w&nbsp;行,20&nbsp;张业务表,22&nbsp;个前端页面。和&nbsp;Demo&nbsp;项目的主要区别▪&nbsp;检索方式:Demo&nbsp;通常是单路向量检索,Ragent&nbsp;是多通道并行&nbsp;+&nbsp;后处理流水线。▪&nbsp;意图识别:Demo&nbsp;没有,Ragent&nbsp;做了树形意图&nbsp;+&nbsp;歧义引导。▪&nbsp;模型调用:Demo&nbsp;单模型挂了就挂了,Ragent&nbsp;多候选路由&nbsp;+&nbsp;熔断降级。▪&nbsp;会话记忆:Demo&nbsp;全量塞给模型,Ragent&nbsp;滑动窗口&nbsp;+&nbsp;摘要压缩。▪&nbsp;可观测性:Demo&nbsp;没有,Ragent&nbsp;全链路&nbsp;Trace。项目会持续迭代,感兴趣的同学可以&nbsp;clone&nbsp;下来跑一跑,有问题欢迎提&nbsp;Issue&nbsp;交流。
勇敢的王老五最喜欢春...:我以为是营销号呢,进来看是特么的大佬
AI求职实录
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务