📜  在 Pandas 中折叠多个列(1)

📅  最后修改于: 2023-12-03 15:23:14.736000             🧑  作者: Mango

在 Pandas 中折叠多个列

在 Pandas 中,我们可以使用 melt() 函数将数据框中的多个列折叠成一个列。这在处理数据集的时候非常有用,可以将某些列的值合并成一个新的列。

下面是一个使用 melt() 函数折叠多个列的示例代码:

import pandas as pd

# 创建示例数据框
df = pd.DataFrame({'A': {0: 'a', 1: 'b', 2: 'c'},
                   'B': {0: 1, 1: 3, 2: 5},
                   'C': {0: 2, 1: 4, 2: 6}})

# 折叠多个列
melted = pd.melt(df, id_vars=['A'], value_vars=['B', 'C'])

print(melted)

输出结果如下:

  A variable  value
0  a        B      1
1  b        B      3
2  c        B      5
3  a        C      2
4  b        C      4
5  c        C      6

melt() 函数中,id_vars 参数指定要保留的列(在本例中是列“A”),value_vars 参数指定要折叠的列(在本例中是列“B”和“C”)。melt() 函数将折叠的列命名为“variable”列,并将其对应的值命名为“value”列。

我们也可以在 melt() 函数中使用元组来指定列名,如下所示:

melted = pd.melt(df, id_vars=['A'], value_vars=[('B', '列B'), ('C', '列C')], var_name='列名', value_name='值')

在上面的示例中,我们为要折叠的列指定了元组,其中第一个元素是列名,第二个元素是折叠后的列名。我们还使用了 var_namevalue_name 参数,分别指定新列名“列名”和“值”。

无论使用何种方式折叠多个列,melt() 函数都能将数据框转化为更具可读性和分析性的格式。