Pandas DataFrame melt() 方法

实例

将每个索引有4列的表中的 DataFrame 堆叠到每列一行的表中:

在下面的例子中,我们将使用名为 ‘data.csv’ 的 CSV 文件。

下载 CSV 文件 或者在浏览器中 查看 CSV 文件

  1. import pandas as pd
  2. df = pd.read_csv('data.csv')
  3. newdf = df.melt()
  4. print(newdf.to_string())
  5. #请注意,我们使用 to_string() 方法返回整个 DataFrame。

定义与用法

melt() 方法将 DataFrame 重塑为一个长表,每列一行。


语法

  1. dataframe.melt(id_vars, value_vars, var_name, value_name, col_level, ignore_index)

参数

id_vars, value_vars, var_name, value_namecol_level,ignore_index 都是 关键字参数

参数描述
id_varsTuple
List
Array
可选, 指定要用作标识符的列
value_varsTuple
List
Array
可选, 指定要取消打印的列
var_nameString可选, 指定 'variable' 列的标签,默认为 'variable'
col_levelNumber
String
可选, 对于多索引 DataFrame,指定要融合的层级
ignore_indexTrue
False
可选, 默认为True。指定是否忽略原始索引

返回值

一个经过重塑的 DataFrame 对象。

此方法不会更改原始 DataFrame。

分类导航