本学期开设了Java(Java,Web开发)和Python方向(Python,爬虫技术)的模块课程,已知某宿舍四名同学小明、小王、小李和小赵参加了选课。其中,选择了Java方向课程有小明、小王和小赵,选择了Python方向课程的同学有小明、小李和小赵。参加期末考试以后,Java方向课程的成绩如表4所示,Python方向课程的成绩如表5所示。利用数据合并完成下面任务: a) 统计出既选了Java方向,又选了Python方向课程的同学的所有课程成绩。b) 统计出选了Java方向课程的同学的所有课程成绩。c) 统计出选了Python方向课程的同学的所有课程成绩。d) 统计出所有同学所有课程的成绩。表4 Java方向课程的成绩 学号 姓名 Java方向 Web开发 1 小明 80 92 2 小王 90 85 3 小赵 86 83 表5 Python方向课程的成绩 学号 姓名 Python方向 爬虫技术 1 小明 91 88 2 小李 92 90 3 小赵 88 85写出python代码
时间: 2024-03-03 11:48:09 浏览: 80
JAVA、Python学习
```
import pandas as pd
# 创建 Java 方向课程成绩表格
java_scores = pd.DataFrame({
'学号': [1, 2, 3],
'姓名': ['小明', '小王', '小赵'],
'Java方向': [80, 90, 86],
'Web开发': [92, 85, 83]
})
# 创建 Python 方向课程成绩表格
python_scores = pd.DataFrame({
'学号': [1, 2, 3],
'姓名': ['小明', '小李', '小赵'],
'Python方向': [91, 92, 88],
'爬虫技术': [88, 90, 85]
})
# a) 统计出既选了Java方向,又选了Python方向课程的同学的所有课程成绩。
java_python_scores = pd.merge(java_scores, python_scores, on=['学号', '姓名'])
print('既选了Java方向,又选了Python方向课程的同学的所有课程成绩:\n', java_python_scores)
# b) 统计出选了Java方向课程的同学的所有课程成绩。
java_scores_total = java_scores[['学号', '姓名', 'Java方向', 'Web开发']]
print('选了Java方向课程的同学的所有课程成绩:\n', java_scores_total)
# c) 统计出选了Python方向课程的同学的所有课程成绩。
python_scores_total = python_scores[['学号', '姓名', 'Python方向', '爬虫技术']]
print('选了Python方向课程的同学的所有课程成绩:\n', python_scores_total)
# d) 统计出所有同学所有课程的成绩。
all_scores = pd.merge(java_scores_total, python_scores_total, on=['学号', '姓名'], how='outer')
print('所有同学所有课程的成绩:\n', all_scores)
```
阅读全文