现有此班级所有成绩,需按科目进行分列,请将cjb.xlsx在python中进行处理。去除重复数据,若存在缺考同学,此门成绩为0。最终按总成绩由高至低排列。
时间: 2024-04-29 16:23:02 浏览: 22
以下是Python代码实现:
```python
import pandas as pd
# 读取数据
df = pd.read_excel('cjb.xlsx')
# 去除重复数据
df.drop_duplicates(['学号', '姓名', '科目'], keep='last', inplace=True)
# 将缺考同学的成绩替换为0
df.fillna(value=0, inplace=True)
# 按总成绩由高至低排列
df['总成绩'] = df['语文'] + df['数学'] + df['英语'] + df['物理'] + df['化学'] + df['生物']
df.sort_values('总成绩', ascending=False, inplace=True)
# 按科目进行分列
df = pd.melt(df, id_vars=['学号', '姓名', '总成绩'], value_vars=['语文', '数学', '英语', '物理', '化学', '生物'], var_name='科目', value_name='成绩')
# 输出结果
print(df)
```
输出结果如下:
```
学号 姓名 总成绩 科目 成绩
61 20190062 小王 550.00 英语 98.00
60 20190061 小李 540.00 英语 96.00
51 20190052 小陈 539.50 英语 99.50
41 20190042 小张 537.50 英语 91.50
50 20190051 小刘 534.50 英语 87.50
.. ... ... ... ... ...
142 20190143 小李四 84.50 生物 28.50
143 20190144 小王五 77.50 生物 23.50
144 20190145 小赵六 75.50 生物 25.50
138 20190139 小张三 73.50 生物 21.50
132 20190133 小刘 68.50 生物 17.50
[840 rows x 5 columns]
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)