如何使用Pandas从Excel文件中读取数据,如果A列包含学生姓名,B列包含班级名称,然后对这些数据进行统计,以得到一个新的数据表,其中C列是班级名字,D列是该班级的所有学生的名字
时间: 2024-12-02 07:14:34 浏览: 27
首先,我们可以使用pandas库来读取Excel文件并加载数据。假设我们有两个工作表,分别对应两个班级的学生成绩。以下是操作步骤:
1. **导入所需库**[^1]:
```python
import pandas as pd
```
2. **读取Excel文件**:
```python
df1 = pd.read_excel('学生成绩.xlsx', sheet_name='班级1')
df2 = pd.read_excel('学生成绩.xlsx', sheet_name='班级2')
```
3. **合并数据(如有必要)**:
如果两个班级的数据在同一张工作表里,可以先合并,例如:
```python
if len(df1.columns) == 3: # 检查是否有班级名称列
combined_df = pd.concat([df1, df2])
else:
combined_df = pd.concat([df1[['姓名', '班级']], df2[['姓名', '班级']]])
```
4. **创建新数据表**:
创建一个新的DataFrame,添加新的列C(班级名称)和D(学生姓名):
```python
new_df = combined_df[['班级']].copy()
new_df['C列'] = combined_df.groupby('班级')['姓名'].apply(list)
```
5. **整理C列**[^2]:
将列表转换为逗号分隔的形式,方便显示:
```python
new_df['C列'] = new_df['C列'].apply(lambda x: ', '.join(x))
```
现在,`new_df`应该包含了所需的统计数据,其中C列是班级名称,D列是该班级所有学生的名字。
阅读全文