pandas练习
一. 单选题(共10题,43分)
1. (单选题)在pandas中,如何选取某一列的数据?
- A. df.column
- B. df.select('column')
- C. df.get('column')
- D. df['column']
正确答案:D:df['column'];
答案解析:pandas中通过方括号语法`df['column']`来选取某一列的数据。
2. (单选题)pandas 中,Series 和 DataFrame 的主要区别是什么?
- A. DataFrame 可以存储多个 Series
- B. Series 只能存储整数数据
- C. Series 不能包含多个数据类型
- D. DataFrame 不支持索引操作
正确答案:A:DataFrame 可以存储多个 Series;
答案解析:DataFrame 是二维的表格型数据结构,可以存储多个 Series,并且每个列可以有不同的数据类型。
3. (单选题)在pandas中,`df.groupby('column').mean()`的作用是什么?
- A. 根据索引对数据进行分组并求平均值
- B. 计算'column'列的平均值
- C. 根据'column'列对数据进行分组并计算每组平均值
- D. 计算整个DataFrame的平均值
正确答案:C:根据'column'列对数据进行分组并计算每组平均值;
答案解析:pandas中的groupby方法用于分组计算,`mean()`在此基础上计算每组的平均值。
4. (单选题)在pandas中,用于对列进行重命名的操作方法是?
- A. change_columns(...)
- B. rename(columns=...)
- C. alter_columns(...)
- D. update_columns(...)
正确答案:B:rename(columns=...);
答案解析:rename()是pandas中用于修改DataFrame或Series索引或列名的标准方法,columns参数用于指定新的列名。
5. (单选题)在pandas中,用于查看前n行数据的方法是?
- A. top(n)
- B. head(n)
- C. show(n)
- D. preview(n)
正确答案:B:head(n);
答案解析:pandas中DataFrame对象的`head(n)`方法用于显示数据的前n行,默认为5行。
6. (单选题)Pandas 的 Series 中,以下哪项操作可以获取索引值?
- A. items
- B. index
- C. keys
- D. values
正确答案:B:index;
答案解析:Series 的 index 属性用于获取其索引对象,而 values 获取的是数据值。
7. (单选题)在 pandas 中,如何使用 loc 方法选取 DataFrame 的行?
- A. df.loc[:, 'row_label']
- B. df.loc['row_label']
- C. df.loc[row_index]
- D. df.loc.values('row_label')
正确答案:B:df.loc['row_label'];
答案解析:loc 是基于标签的索引方法,用于通过行标签选取行。
8. (单选题)如何选取DataFrame中'A'列值大于5且'B'列值小于3的行?
- A. df[df.A>5 and df.B<3]
- B. df.query('A>5 or B<3')
- C. df[(df.A>5) & (df.B<3)]
- D. df.filter(items=['A>5','B<3'])
正确答案:C:df[(df.A>5) & (df.B<3)];
答案解析:正确的布尔索引需要使用位运算符&,并用括号分隔条件。
9. (单选题)Pandas 中,以下哪个方法用于删除含有缺失值的行?
- A. fillna()
- B. remove()
- C. dropna()
- D. replace()
正确答案:C:dropna();
答案解析:dropna() 方法可用于删除包含缺失值的行或列,是处理缺失数据的常用方法。
10. (单选题)现有两个DataFrame: df1=pd.DataFrame({'A':[1,2], 'B':['x','y']}), df2=pd.DataFrame({'A':[2,3], 'C':[20,30]}).执行pd.merge(df1, df2, on='A', how='left')后,结果的索引数量是多少?
- A. 0
- B. 1
- C. 3
- D. 2
正确答案:D:2;
答案解析:左连接保留左表所有记录,右表没有匹配时填充NaN。df1有2条记录,合并后仍保持2行。
二. 填空题(共4题,17.4分)
11. (填空题)在pandas中,可以通过________方法删除缺失值,也可以通过________方法填充缺失值。
正确答案:
(1) dropna
(2) fillna
答案解析:dropna()用于删除缺失值,fillna()用于填充缺失值,这两个方法是pandas中处理缺失值的常用方式。
12. (填空题)运行以下代码,输出结果为: import pandas as pd s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd']) print(s['b': 'd']) 输出为:_____
正确答案:
(1) 2
(2) 3
(3) 4
答案解析:Series 支持切片操作,根据标签选取数据,结果为 Series [2, 3, 4]。
13. (填空题)在 Pandas 中,使用 ______ 方法可以读取 CSV 文件,而 ______ 方法可以显示数据的前几行。
正确答案:
(1) read_csv
(2) head
答案解析:read_csv 是用于读取 CSV 文件的标准方法,head 可查看数据的前几行。
14. (填空题)pandas 中 `
![]()
` 表示 ________ 值。
正确答案:
(1) 缺失
答案解析:`NaN` 是 not a number 的缩写,在 pandas 中用来表示缺失值。
三. 判断题(共5题,22分)
15. (判断题)df.describe()会显示数值型列的统计摘要信息。
- A. 对
- B. 错
正确答案:对
答案解析:describe()默认显示数值列的计数、均值、标准差等统计指标。
16. (判断题)在pandas中,DataFrame的行索引和列索引均可使用默认的整数索引。
- A. 对
- B. 错
正确答案:对
答案解析:pandas中,DataFrame的行索引和列索引既可以使用默认的整数索引,也可以使用自定义的标签索引。因此该说法是正确的。
17. (判断题)pandas 的 `read_csv()` 方法默认会把文件的第一行作为列名。
- A. 对
- B. 错
正确答案:对
答案解析:`read_csv()` 默认参数 `header=0` 表示使用文件的第一行作为列名。
18. (判断题)pandas 的 Series 只能存储一维数据。
- A. 对
- B. 错
正确答案:对
答案解析:Series 是 pandas 的一维数据结构,用于存储单一序列的数据。
19. (判断题)使用df[df['Age']>20]可以进行布尔索引操作。
- A. 对
- B. 错
正确答案:对
答案解析:这是正确的布尔索引语法,用于筛选Age列大于20的行。
四. 简答题(共2题,8.8分)
20. (简答题)解释以下代码的功能: df.groupby('Department')['Salary'].agg(['mean','max'])
正确答案:
该代码按Department列分组,计算每个部门薪资的平均值和最大值。
答案解析:groupby进行分组,agg聚合函数计算指定统计量,返回多维度分析结果。
21. (简答题)请编写一段pandas代码,读取一个CSV文件,然后筛选出'age'列大于30的所有行,并将结果保存为'output.csv'。
正确答案:
import pandas as pd df = pd.read_csv('input.csv') filtered_df = df[df['age'] > 30] filtered_df.to_csv('output.csv', index=False)
答案解析:这段代码首先读取数据,然后利用布尔索引筛选符合条件的行,最后将结果保存为CSV文件。
五. 多选题(共2题,8.8分)
22. (多选题)关于pandas中的read_csv函数,下列哪些说法是正确的?
- A. sep参数默认是制表符
- B. index_col参数可用于指定某列为索引
- C. header=None表示不把第一行作为列名
- D. skiprows参数可跳过指定的行
- E. read_csv()函数用于读取CSV文件
正确答案:BCDE:index_col参数可用于指定某列为索引; header=None表示不把第一行作为列名; skiprows参数可跳过指定的行; read_csv()函数用于读取CSV文件;
答案解析:pandas的read_csv函数默认的分隔符是逗号,而不是制表符。其他选项描述均正确。
23. (多选题)关于pandas中的Series对象,下列说法中正确的有哪些?
- A. Series的数据类型必须统一,不能包含多个数据类型
- B. 可以通过字典构造Series,字典的键成为Series的索引
- C. Series类似于一维数组,可存储单一数据类型
- D. Series的索引默认是从0开始的整数索引
- E. Series的索引只能是字符串类型
正确答案:ABCD:Series的数据类型必须统一,不能包含多个数据类型; 可以通过字典构造Series,字典的键成为Series的索引; Series类似于一维数组,可存储单一数据类型; Series的索引默认是从0开始的整数索引;
答案解析:Series的索引可以是任意不可变对象,不仅限于字符串。其数据类型需要统一,可通过字典生成带有自定义索引的Series。
六. 其他(共1题)
1、读取Euro.csv文件,命名为euro
2、输出其前5行
3、查看其所有列的信息
4、只选取Goals列
5、计算黄牌Yellow Cards数的算术平均值
6、将数据集中的Team、Yellow Cards、Red Cards列单独存储在一个名为discipline的数据框对象中
# 1、读取Euro.csv文件,命名为euro
import pandas as pd
euro = pd.read_csv('Euro2012.csv')
# 2、输出其前5行
print("前5行数据:")
print(euro.head(5))
# 3、查看其所有列的信息
print("数据集信息:")
print(euro.info())
# 4、只选取Goals列
goals_column = euro['Goals']
print("Goals列数据:")
print(goals_column)
# 5、计算黄牌Yellow Cards数的算术平均值
yellow_cards_mean = euro['Yellow Cards'].mean()
print(f"黄牌数的算术平均值:{yellow_cards_mean:.2f}")
# 6、将数据集中的Team、Yellow Cards、Red Cards列单独存储在一个名为discipline的数据框对象中
discipline = euro[['Team', 'Yellow Cards', 'Red Cards']]
print("discipline数据框:")
print(discipline)
更多推荐

所有评论(0)