版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年Python数据分析工程师Pandas面试题及答案一、选择题(每题2分,共10题)1.在Pandas中,如何创建一个包含1000个随机整数的DataFrame,其中每行的整数范围在1到100之间?A.`pd.DataFrame(np.random.randint(1,100,size=(1000,1)))`B.`pd.DataFrame(np.random.randint(1,100,size=(1000,100)))`C.`pd.DataFrame(np.random.randint(1,100,size=(1000,)))`D.`pd.DataFrame(np.random.randint(1,100,size=(1000,1000)))`2.如何从CSV文件中读取数据,并指定某列为索引列?A.`pd.read_csv('data.csv',index_col=0)`B.`pd.read_csv('data.csv',index_col='column_name')`C.`pd.read_csv('data.csv',usecols=['column_name'])`D.`pd.read_csv('data.csv',parse_dates=['column_name'])`3.在Pandas中,如何对DataFrame进行分块读取,每次读取100行数据?A.`pd.read_csv('data.csv',chunksize=100)`B.`pd.read_csv('data.csv',nrows=100)`C.`pd.read_csv('data.csv',skiprows=100)`D.`pd.read_csv('data.csv',iterator=True)`4.如何计算DataFrame中某列的平均值,忽略缺失值(NaN)?A.`df['column'].mean()`B.`df['column'].sum()/df['column'].count()`C.`df['column'].mean(skipna=False)`D.`df['column'].median()`5.在Pandas中,如何将两个DataFrame按某一列合并(左合并)?A.`pd.merge(df1,df2,on='key',how='left')`B.`pd.concat([df1,df2],axis=1)`C.`df1.join(df2,on='key',how='left')`D.`pd.join(df1,df2,on='key',how='left')`二、填空题(每题3分,共5题)1.在Pandas中,使用_______函数可以对DataFrame进行转置操作。(答案:`transpose()`或`.T`)2.使用_______函数可以将DataFrame中的某列转换为日期时间格式。(答案:`to_datetime()`)3.在Pandas中,使用_______函数可以计算DataFrame中所有数值列的描述性统计信息(均值、标准差、最小值等)。(答案:`describe()`)4.使用_______函数可以将DataFrame中的缺失值填充为特定值。(答案:`fillna()`)5.在Pandas中,使用_______函数可以将DataFrame按照某一列的值进行排序。(答案:`sort_values()`)三、简答题(每题5分,共4题)1.简述Pandas中`groupby`函数的基本用法及其在数据分析中的作用。答案:`groupby`函数用于对DataFrame进行分组操作,常用于聚合、过滤或转换数据。基本用法如下:pythondf.groupby('column_name').agg({'another_column':'sum'})作用:-聚合:对分组后的数据计算统计量(如均值、计数等)。-过滤:筛选特定分组的数据。-转换:对分组数据进行操作,但保留原始行数。2.解释Pandas中`merge`函数的`on`参数和`how`参数的作用。答案:-`on`参数:指定合并的键列,必须存在于两个DataFrame中。-`how`参数:指定合并方式,可选值:-`'left'`:保留左侧DataFrame的键。-`'right'`:保留右侧DataFrame的键。-`'inner'`:仅保留两个DataFrame都有的键。-`'outer'`:保留所有键。3.如何在Pandas中处理缺失值(NaN)?列举至少三种方法。答案:-删除:使用`dropna()`删除含有缺失值的行或列。pythondf.dropna()-填充:使用`fillna()`填充缺失值,可指定固定值或前/后值。pythondf.fillna(0)-插值:使用`interpolate()`进行插值填充。erpolate()4.解释Pandas中`apply`函数的用法及其与`map`的区别。答案:-`apply`:对DataFrame的行或列应用函数,返回新的DataFrame或Series。pythondf['column'].apply(lambdax:x2)-`map`:仅对Series中的元素应用函数,需与字典或函数映射。pythondf['column'].map({'a':1,'b':2})区别:`apply`更灵活,适用于复杂操作;`map`仅用于元素级映射。四、代码题(每题10分,共3题)1.假设有一个CSV文件`sales.csv`,包含以下列:`date`(日期)、`region`(地区)、`sales`(销售额)。请编写代码:-读取CSV文件。-将`date`列转换为日期时间格式。-按地区分组,计算每个地区的总销售额。-按销售额降序排序结果,并输出前3个地区。答案:pythonimportpandasaspd读取CSV文件df=pd.read_csv('sales.csv')转换日期列df['date']=pd.to_datetime(df['date'])按地区分组计算总销售额result=df.groupby('region')['sales'].sum().sort_values(ascending=False).head(3)print(result)2.有一个DataFrame`df`,包含以下列:`name`(姓名)、`age`(年龄)、`score`(分数)。请编写代码:-为缺失的`age`值填充平均年龄。-添加一列`grade`,根据`score`值判断等级(>=90:'A',>=80:'B',>=70:'C',否则'D')。-筛选出`age`大于30且`grade`为'B'或'C'的行。答案:pythonimportpandasaspd假设df已存在df['age']=df['age'].fillna(df['age'].mean())添加grade列df['grade']=pd.cut(df['score'],bins=[0,70,80,90,100],labels=['D','C','B','A'])筛选条件result=df[(df['age']>30)&(df['grade'].isin(['B','C']))]print(result)3.有一个DataFrame`df`,包含以下列:`product`(产品)、`category`(类别)、`price`(价格)。请编写代码:-按类别分组,计算每个类别的平均价格。-对每个类别的产品按价格降序排序。-添加一列`discount`,如果价格高于200,则打8折,否则不打折。答案:pythonimportpandasaspd计算每个类别的平均价格avg_price=df.groupby('category')['price'].mean().reset_index()按类别和价格排序df_sorted=df.sort_values(['category','price'],ascending=[True,False])添加折扣列df['discount']=df['price'].apply(lambdax:x0.8ifx>200elsex)print(df_sorted)print(avg_price)答案与解析一、选择题答案与解析1.答案:A解析:`np.random.randint(1,100,size=(1000,1))`生成1000个1-100的随机整数,`size=(1000,1)`表示单列。2.答案:B解析:`index_col='column_name'`指定某列为索引列,`index_col=0`指定第一列为索引。3.答案:A解析:`chunksize=100`每次读取100行数据,适合大文件分块处理。4.答案:A解析:`mean()`默认忽略NaN,其他选项不适用。5.答案:A解析:`pd.merge`的`how='left'`保留左侧DataFrame的键。二、填空题答案与解析1.答案:`transpose()`或`.T`解析:`transpose()`或属性`.T`用于转置DataFrame。2.答案:`to_datetime()`解析:将字符串或时间戳转换为日期时间格式。3.答案:`describe()`解析:返回数值列的统计描述(均值、标准差等)。4.答案:`fillna()`解析:填充缺失值,可指定固定值或方法。5.答案:`sort_values()`解析:按列值排序,可指定升序或降序。三、简答题答案与解析1.`groupby`用法与作用解析:`groupby`用于分组,常配合`agg()`、`filter()`等函数进行数据分析。2.`merge`的`on`和`how`参数解析:`on`指定键列,`how`指定合并方式(左、右、内、外)。3.处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 同人插画合同范本
- 器械销售合同范本
- 团长分销合同范本
- 国开就业协议书
- 大学合作协议书
- 2026年柳州城市职业学院单招(计算机)考试备考题库及答案1套
- 中国信达河南分公司2026年招聘备考题库及完整答案详解1套
- 福安市融媒体中心2026年公开招聘急需紧缺高层次人才有关工作的备考题库及1套参考答案详解
- 2026年吕梁师范高等专科学校单招综合素质考试题库附答案
- 2025新疆双河市政服务有限责任公司面向社会招聘工作人员招聘1人备考题库附答案
- 2025年云南省人民检察院聘用制书记员招聘(22人)备考笔试题库及答案解析
- 2026届四川凉山州高三高考一模数学试卷试题(含答案详解)
- 银行党支部书记2025年抓基层党建工作述职报告
- 肿瘤标志物的分类
- 2025山西忻州市原平市招聘社区专职工作人员50人考试历年真题汇编附答案解析
- 中药煎煮知识与服用方法
- 2026东莞银行秋季校园招聘备考题库及答案详解(基础+提升)
- 消防水泵房管理制度及操作规程
- 野战军生存课件
- 《民航概论》期末考试复习题库(附答案)
- 2025年学校工会工作总结范文(5篇)
评论
0/150
提交评论