python melt 函数解释和参数介绍
时间: 2024-09-24 11:03:43 浏览: 36
`pandas`库中的`melt()`函数是一个非常实用的数据重塑工具,用于将数据从宽格式(wide format)转换为长格式(long format),也被称为" pivoting "操作。宽格式通常是一列对应一个变量,而长格式则是每个观测值都有所有变量的记录。
`melt()`函数的基本语法如下:
```python
df_melt = df.melt(id_vars, var_name='variable', value_name='value')
```
其中:
- `df`: 输入的DataFrame对象。
- `id_vars`: 保留不变的行索引或列名,即想要保留在结果中的固定特征列。
- `var_name`: 新添加的列名,用于存储原来的列名。
- `value_name`: 新添加的列名,用于存储原来列的内容。
这个函数会创建一个新的DataFrame,原列的内容作为新列`value`的值,原列名变为`variable`。`id_vars`参数指定哪些列不应变化。
举个例子:
```python
data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
'C': [1, 2, 3, 4, 5, 6, 7, 8]}
df = pd.DataFrame(data)
# 转换前
print(df)
# 输出:
A B C
0 foo one 1
1 bar one 2
2 foo two 3
3 bar three 4
4 foo two 5
5 bar two 6
6 foo one 7
7 foo three 8
# 使用melt
melted_df = df.melt(id_vars=['A'], var_name='Category', value_name='Value')
print(melted_df)
# 输出:
A Category Value
0 foo one 1
1 bar one 2
2 foo two 3
3 bar three 4
4 foo two 5
5 bar two 6
6 foo one 7
7 foo three 8
```
阅读全文