2026年Python数据分析库Pandas实战练习题_第1页
2026年Python数据分析库Pandas实战练习题_第2页
2026年Python数据分析库Pandas实战练习题_第3页
2026年Python数据分析库Pandas实战练习题_第4页
2026年Python数据分析库Pandas实战练习题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年Python数据分析库Pandas实战练习题一、选择题(每题2分,共20题)1.在Pandas中,读取CSV文件并设置第一行为索引的正确方法是?A.`pd.read_csv('data.csv',index_col=0)`B.`pd.read_csv('data.csv',usecols=['index'])`C.`pd.read_csv('data.csv',index=True)`D.`pd.read_csv('data.csv',set_index='first')`2.以下哪个方法可以用来检查PandasDataFrame中是否有缺失值?A.`df.isna()`B.`df.empty()`C.`df.isnan()`D.`df.missing()`3.在Pandas中,如何对DataFrame进行按列排序?A.`df.sort()`B.`df.orderby()`C.`df.sort_values(by='column_name')`D.`df.rank()`4.以下哪个方法可以用来合并两个DataFrame,基于多个键?A.`pd.merge(df1,df2,on=['key1','key2'])`B.`df1.join(df2,on=['key1','key2'])`C.`pd.concat([df1,df2],keys=['key1','key2'])`D.`df1.merge(df2,by=['key1','key2'])`5.在Pandas中,如何将DataFrame的某列转换为日期格式?A.`pd.to_date(df['column'])`B.`df['column'].astype('datetime')`C.`pd.convert_dtypes(df['column'])`D.`df['column'].apply(pd.to_datetime)`6.以下哪个方法可以用来对PandasDataFrame进行分组并计算每组的均值?A.`df.groupby().mean()`B.`df.agg('mean')`C.`df.reduce('mean')`D.`df.mean()`7.在Pandas中,如何重置DataFrame的索引?A.`df.reset_index(drop=True)`B.`df.reset_index()`C.`df.set_index(drop=True)`D.`df.reset()`8.以下哪个方法可以用来对PandasSeries进行去重?A.`s.unique()`B.`s.drop_duplicates()`C.`s.distinct()`D.`s.nunique()`9.在Pandas中,如何将DataFrame的某列中的字符串值转换为小写?A.`df['column'].lower()`B.`df['column'].casefold()`C.`df['column'].to_lowercase()`D.`df['column'].str.lower()`10.以下哪个方法可以用来对PandasDataFrame进行随机抽样?A.`df.sample(frac=0.1)`B.`df.choice(frac=0.1)`C.`df.random.sample(0.1)`D.`df.sample_by(0.1)`二、填空题(每空2分,共10空)1.在Pandas中,使用_________方法可以创建一个空的DataFrame。2.以下代码的作用是_________:`df.dropna(how='all')`。3.在Pandas中,使用_________方法可以将两个Series按位置对齐相加。4.以下代码的作用是_________:`df.fillna(method='ffill')`。5.在Pandas中,使用_________方法可以计算Series中非空值的数量。6.以下代码的作用是_________:`df['column'].apply(lambdax:x2)`。7.在Pandas中,使用_________方法可以将DataFrame保存为CSV文件。8.以下代码的作用是_________:`df.pivot(index='A',columns='B',values='C')`。9.在Pandas中,使用_________方法可以按列对DataFrame进行排序。10.以下代码的作用是_________:`df.query('column>10')`。三、简答题(每题5分,共4题)1.简述Pandas中`groupby`方法的基本用法及其常见参数。2.解释Pandas中`merge`方法和`join`方法的区别。3.描述Pandas中`apply`方法的使用场景及其与`map`方法的区别。4.说明Pandas中`read_csv`方法的常用参数及其作用。四、操作题(每题10分,共2题)1.数据清洗与处理假设你有一个名为`sales_data.csv`的文件,包含以下列:`date`(日期)、`product`(产品)、`region`(地区)、`sales`(销售额)、`cost`(成本)。请完成以下任务:(1)读取该文件,并将`date`列转换为日期格式,设置为索引。(2)删除所有`sales`为缺失值的行。(3)计算每个地区的总销售额和总成本。(4)将结果保存为`processed_sales.csv`文件。2.数据合并与分析假设你有两个文件:`sales_data.csv`(包含上述列)和`products_info.csv`(包含列:`product`、`category`、`price`)。请完成以下任务:(1)将两个文件按`product`列合并。(2)计算每个产品的利润(`sales`-`cost`)和利润率(`利润/price`)。(3)筛选出利润率最高的前5个产品,并按利润率降序排列。(4)输出筛选结果的`product`、`category`、`profit`、`profit_rate`列。答案与解析一、选择题答案与解析1.A解析:`pd.read_csv('data.csv',index_col=0)`将第一列设置为索引。选项B使用`usecols`选择列,选项C和D不存在。2.A解析:`df.isna()`检查哪些值是缺失值。选项B检查DataFrame是否为空,选项C和D不存在。3.C解析:`df.sort_values(by='column_name')`按指定列排序。选项A和B不存在,选项D是计算排名。4.A解析:`pd.merge(df1,df2,on=['key1','key2'])`基于多个键合并。选项B和D语法错误,选项C是按位置合并。5.D解析:`df['column'].apply(pd.to_datetime)`将列转换为日期格式。选项A和B语法错误,选项C是转换数据类型。6.A解析:`df.groupby().mean()`对分组进行均值计算。选项B是聚合,选项C是reduce,选项D是全局均值。7.A解析:`df.reset_index(drop=True)`重置索引并丢弃旧索引。选项B是重置索引但保留旧索引,选项C是设置索引。8.B解析:`s.drop_duplicates()`去除重复值。选项A是获取唯一值,选项C和D不存在。9.A解析:`df['column'].lower()`将字符串转为小写。选项B是更严格的转换,选项C和D不存在。10.A解析:`df.sample(frac=0.1)`随机抽样10%。选项B和D语法错误,选项C不存在。二、填空题答案与解析1.`pd.DataFrame()`解析:创建空的DataFrame。2.删除所有行中所有列都为缺失值的行。解析:`how='all'`表示只有当整行都是缺失值时才删除。3.`+`解析:`Series1+Series2`按位置对齐相加。4.前向填充缺失值。解析:`fillna(method='ffill')`用前一个非缺失值填充。5.`count()`解析:`Series.count()`计算非空值数量。6.将列中的每个值乘以2。解析:`apply`对每个元素应用函数。7.`to_csv()`解析:`df.to_csv('file.csv')`保存为CSV文件。8.创建一个以`A`为索引、`B`为列、`C`为值的透视表。解析:`pivot`方法重塑数据。9.`sort_values()`解析:`df.sort_values(by='column')`按列排序。10.筛选出`column`大于10的行。解析:`query`按条件筛选。三、简答题答案与解析1.`groupby`方法的基本用法及其常见参数-基本用法:`df.groupby(by)`按指定列分组,然后可以应用聚合函数(如`mean()`、`sum()`)。-常见参数:-`by`:分组依据的列或列列表。-`axis`:分组轴,默认为0(按行分组)。-`as_index`:是否将分组键作为索引,默认为True。2.`merge`与`join`的区别-`merge`:基于键合并两个DataFrame,支持多种合并方式(内连接、外连接等),语法更灵活。-`join`:基于索引合并,默认左连接,语法更简单,通常用于基于索引的合并。3.`apply`方法的使用场景及其与`map`的区别-使用场景:对DataFrame或Series的每个元素或每个行/列应用函数,适用于复杂操作。-与`map`的区别:-`map`:仅适用于Series,对每个元素应用函数。-`apply`:更通用,可以应用于DataFrame的行或列。4.`read_csv`方法的常用参数及其作用-`filepath_or_buffer`:文件路径或缓冲区。-`sep`:分隔符,默认逗号。-`header`:表头行号,默认0。-`index_col`:设置索引列。-`dtype`:指定列的数据类型。四、操作题答案与解析1.数据清洗与处理pythonimportpandasaspd读取文件并设置索引df=pd.read_csv('sales_data.csv',parse_dates=['date'],index_col='date')删除缺失值df=df.dropna(subset=['sales'])按地区分组计算总销售额和总成本result=df.groupby('region').agg({'sales':'sum','cost':'sum'}).reset_index()保存结果result.to_csv('processed_sales.csv',index=False)2.数据合并与分析python读取文件sales_df=pd.read_csv('sales_data.csv',parse_dates=['date'])products_df=pd.read_csv('products_info.csv')合并数据merged_df=pd.merge(sales_df,products_df,on='product')计算利润和利润率merged_df['profit']=merged_df['sales']-merged_df['cost']mer

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论