pandas将长数据处理成宽数据
时间: 2023-11-20 17:55:57 浏览: 106
可以使用Pandas中的melt()函数将长数据处理成宽数据。melt()函数可以将DataFrame从一种格式转换为另一种格式,具体来说,它可以将宽格式转换为长格式。下面是一个基本的melt()函数格式:
```python
pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)
```
其中,frame是要处理的DataFrame,id_vars是要保留的列,value_vars是要转换的列,var_name是转换后的列名,value_name是值的列名。下面是一个例子:
```python
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'Name': {0: 'John', 1: 'Mike', 2: 'Sarah'},
'Math': {0: 90, 1: 80, 2: 70},
'Science': {0: 70, 1: 90, 2: 80}})
# 使用melt()函数将长数据处理成宽数据
df_melted = pd.melt(df, id_vars=['Name'], value_vars=['Math', 'Science'], var_name='Subject', value_name='Score')
print(df_melted)
```
输出结果如下:
```
Name Subject Score
0 John Math 90
1 Mike Math 80
2 Sarah Math 70
3 John Science 70
4 Mike Science 90
Sarah Science 80
```
在这个例子中,我们将原始DataFrame中的Math和Science列转换为了Subject和Score列,同时保留了Name列。这样,我们就将长数据处理成了宽数据。
阅读全文