数据处理笔试题及答案
一、题目
假设有一个包含学生信息的数据集,包括学生的姓名、年龄、性别、成绩等字段,请使用 Python 语言对该数据集进行以下处理:
1、读取数据集,并将其存储为一个 DataFrame 对象。
2、计算每个学生的平均成绩。
3、找出成绩最高的学生,并输出其姓名和成绩。
4、按照年龄对学生进行升序排序,并输出排序后的数据集。
5、计算每个年龄段(以 5 岁为一个区间)的学生人数。
二、答案
以下是使用 Python 语言解决上述问题的代码:
import pandas as pd 读取数据集 data = {'姓名': ['张三', '李四', '王五', '赵六', '钱七'], '年龄': [18, 19, 20, 21, 22], '性别': ['男', '男', '女', '女', '男'], '成绩': [85, 90, 95, 88, 92]} df = pd.DataFrame(data) 计算每个学生的平均成绩 df['平均成绩'] = df['成绩'].mean() 找出成绩最高的学生,并输出其姓名和成绩 max_score = df['成绩'].max() max_student = df[df['成绩'] == max_score] print("成绩最高的学生是:", max_student['姓名'].values[0], ",成绩是:", max_score) 按照年龄对学生进行升序排序,并输出排序后的数据集 sorted_df = df.sort_values(by='年龄') print("按照年龄升序排序后的数据集:") print(sorted_df) 计算每个年龄段(以 5 岁为一个区间)的学生人数 age_ranges = [0, 5, 10, 15, 20, 25, 30] age_labels = ['0-4', '5-9', '10-14', '15-19', '20-24', '25-29', '30+'] df['年龄区间'] = pd.cut(df['年龄'], bins=age_ranges, labels=age_labels) age_count = df['年龄区间'].value_counts() print("每个年龄段的学生人数:") print(age_count)
三、解析
1、使用pandas
库的read_csv
函数读取数据集,并将其存储为一个DataFrame
对象。
2、使用mean
方法计算每个学生的平均成绩,并将结果存储在一个新的列中。
3、使用max
方法找出成绩最高的学生,并使用loc
方法输出其姓名和成绩。
4、之后,使用sort_values
方法按照年龄对学生进行升序排序,并使用print
函数输出排序后的数据集。
5、使用cut
方法将年龄字段划分为不同的年龄段,并使用value_counts
方法计算每个年龄段的学生人数,并使用print
函数输出结果。
四、总结
通过以上代码,我们可以对学生数据集进行基本的处理和分析,包括计算平均成绩、找出成绩最高的学生、按照年龄排序以及计算每个年龄段的学生人数等,这些操作是数据处理和分析中常见的任务,可以帮助我们更好地理解和利用数据集。
评论列表