统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]
时间: 2024-09-20 14:06:34 浏览: 23
在统计学中,要打印出每个科目(课程ID和课程名称)的成绩分布,包括各分数段的人数,通常会涉及到数据处理和分组操作。这里假设我们有一个包含学生成绩数据的数据表,例如CSV文件或者数据库表。以下是这个任务的一般步骤:
1. **数据加载**:首先,需要读取数据集,将它转换成可以操作的结构,如Python的pandas DataFrame。
```python
import pandas as pd
data = pd.read_csv('scores.csv') # 假设成绩单数据存储在名为'scores.csv'的CSV文件中
```
2. **数据清洗**:确认数据集已经包含了课程ID、课程名称以及学生的分数。
3. **分组统计**:对数据按课程ID和课程名称进行分组,然后计算每个分数段的人数。
```python
score_groups = data.groupby(['课程ID', '课程名称']).agg({'分数': pd.cut, '学生姓名': 'count'})
```
在这里,`pd.cut`函数用于创建分数段,并返回一个切片对象。`'学生姓名'`列的计数表示每个分数段的学生人数。
4. **结果展示**:最后,你可以使用pandas的`to_string()`或`pivot_table`方法将结果呈现为易读的文本形式。
```python
output = score_groups.unstack(fill_value=0).applymap(lambda x: f'[{x.left}-{x.right}]'.replace(',', '-') + ': ' + str(x))
print(output)
```
这将会显示类似这样的表格,每行代表一个课程,列是各个分数段及其对应的人数。