一. 单选题(共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)

更多推荐