python使用crosstab方法进行长宽表转换代码
时间: 2024-01-31 07:02:56 浏览: 35
在Python中,可以使用pandas库中的crosstab方法进行长宽表转换。以下是一个例子:
假设我们有一个包含学生姓名、科目和成绩的数据集,长成这样:
| Name | Subject | Score |
|-------|---------|-------|
| Alice | Math | 85 |
| Alice | Science | 92 |
| Bob | Math | 78 |
| Bob | Science | 88 |
| Alice | English | 90 |
| Bob | English | 85 |
现在我们想要将它转换为以学生姓名为行、科目为列、成绩为值的宽表格。可以使用以下代码实现:
```python
import pandas as pd
# 读取数据集
df = pd.read_csv('student_scores.csv')
# 使用crosstab进行转换
wide_df = pd.crosstab(index=df['Name'], columns=df['Subject'], values=df['Score'], aggfunc='first')
print(wide_df)
```
输出结果:
| Subject | English | Math | Science |
|---------|---------|------|---------|
| Alice | 90 | 85 | 92 |
| Bob | 85 | 78 | 88 |
其中,index参数指定了行,columns参数指定了列,values参数指定了填充值,aggfunc参数指定了如何聚合填充值(这里使用了'first',表示使用第一个遇到的填充值)。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)