Pandas DataFrame melt() 方法
实例
将每个索引有4列的表中的 DataFrame 堆叠到每列一行的表中:
在下面的例子中,我们将使用名为 ‘data.csv’ 的 CSV 文件。
import pandas as pd
df = 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。