要将熊猫DataFrame转换为以下显示(从水平到垂直,带重复键),可以使用熊猫的melt函数。
melt函数是将DataFrame从宽格式转换为长格式的重要函数之一。它可以将指定的列作为标识符(id_vars)保持不变,而将其他列(value_vars)转换为一个或多个列,并将其对应的值(value)放入新的value列中。
以下是将熊猫DataFrame转换为所需显示的步骤:
import pandas as pd
df = pd.DataFrame({'A': ['foo', 'foo', 'foo', 'foo', 'foo', 'bar', 'bar', 'bar', 'bar'],
'B': ['one', 'one', 'one', 'two', 'two', 'one', 'one', 'two', 'two'],
'C': ['x', 'y', 'x', 'y', 'x', 'y', 'x', 'y', 'x'],
'D': [1, 3, 2, 5, 4, 1, 2, 4, 3]})
melted_df = pd.melt(df, id_vars=['A', 'B'], value_vars=['C', 'D'])
在上述代码中,id_vars参数指定要保持不变的列,value_vars参数指定要转换的列。
print(melted_df)
输出结果如下:
A B variable value
0 foo one C x
1 foo one C y
2 foo one C x
3 foo two C y
4 foo two C x
5 bar one C y
6 bar one C x
7 bar two C y
8 bar two C x
9 foo one D 1
10 foo one D 3
11 foo one D 2
12 foo two D 5
13 foo two D 4
14 bar one D 1
15 bar one D 2
16 bar two D 4
17 bar two D 3
在转换后的DataFrame中,每个原始行都被展开为多个行,其中variable列包含原始列的名称,value列包含对应的值。
这种转换通常用于数据分析和可视化中,以便更好地处理和呈现数据。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云