Pandas DataFrame melt() 方法
实例
将每个索引有4列的表中的 DataFrame 堆叠到每列一行的表中:
在下面的例子中,我们将使用名为 ‘data.csv’ 的 CSV 文件。
import pandas as pddf = pd.read_csv('data.csv')newdf = df.melt()print(newdf.to_string())#请注意,我们使用 to_string() 方法返回整个 DataFrame。
定义与用法
melt() 方法将 DataFrame 重塑为一个长表,每列一行。
语法
dataframe.melt(id_vars, value_vars, var_name, value_name, col_level, ignore_index)
参数
id_vars, value_vars, var_name, value_name, col_level,ignore_index 都是 关键字参数。
| 参数 | 值 | 描述 |
|---|---|---|
| id_vars | Tuple List Array | 可选, 指定要用作标识符的列 |
| value_vars | Tuple List Array | 可选, 指定要取消打印的列 |
| var_name | String | 可选, 指定 'variable' 列的标签,默认为 'variable' |
| col_level | Number String | 可选, 对于多索引 DataFrame,指定要融合的层级 |
| ignore_index | True | 可选, 默认为True。指定是否忽略原始索引 |
返回值
一个经过重塑的 DataFrame 对象。
此方法不会更改原始 DataFrame。