📅  最后修改于: 2023-12-03 15:23:14.736000             🧑  作者: Mango
在 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_name
和 value_name
参数,分别指定新列名“列名”和“值”。
无论使用何种方式折叠多个列,melt()
函数都能将数据框转化为更具可读性和分析性的格式。