python中melt
时间: 2024-03-28 20:32:33 浏览: 126
在Python中,melt函数是pandas库中的一个函数,用于将数据框从宽格式转换为长格式。它的主要参数包括frame、id_vars、value_vars、var_name、value_name、ignore_index和col_level。
1. frame:要转换的数据框。
2. id_vars:要保留的列,不进行转换的列。
3. value_vars:要进行转换的列。
4. var_name:转换后的列名。
5. value_name:转换后的值名。
6. ignore_index:是否重置索引。
7. col_level:如果列是多级索引,则指定要转换的级别。
下面是一个示例,演示了如何使用melt函数将数据框从宽格式转换为长格式:
```python
import pandas as pd
# 创建一个数据框
data = {'Name': ['John', 'Mike', 'Sarah'],
'Math': [90, 85, 95],
'English': [80, 75, 85],
'Science': [95, 90, 92]}
df = pd.DataFrame(data)
# 使用melt函数将数据框从宽格式转换为长格式
melted_df = pd.melt(df, id_vars=['Name'], value_vars=['Math', 'English', 'Science'], var_name='Subject', value_name='Score')
# 打印转换后的数据框
print(melted_df)
```
输出结果如下:
```
Name Subject Score
0 John Math 90
1 Mike Math 85
2 Sarah Math 95
3 John English 80
4 Mike English 75
5 Sarah English 85
6 John Science 95
7 Mike Science 90
8 Sarah Science 92
```
这个示例中,我们创建了一个包含姓名、数学、英语和科学成绩的数据框。然后,我们使用melt函数将数据框从宽格式转换为长格式,保留姓名列,转换数学、英语和科学成绩列,并将转换后的列名命名为Subject和Score。最后,我们打印出转换后的数据框。
阅读全文