下面是一个示例代码,展示了如何按列值反转列名并重塑数据框:
import pandas as pd
# 创建示例数据框
df = pd.DataFrame({'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]})
# 使用melt函数将数据框转换为长格式
melted_df = pd.melt(df, var_name="Column", value_name="Value")
# 使用pivot函数将长格式的数据框转换为宽格式
reshaped_df = melted_df.pivot(columns="Column", values="Value")
# 打印重塑后的数据框
print(reshaped_df)
输出结果:
Column A B C
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
在上面的代码中,我们首先使用melt
函数将原始数据框转换为长格式,其中var_name
参数指定了新列名的名称(在这个例子中,我们将其命名为"Column"),value_name
参数指定了新值的名称(在这个例子中,我们将其命名为"Value")。
然后,我们使用pivot
函数将长格式的数据框转换回宽格式,其中columns
参数指定了要用作新列名的列(在这个例子中,我们使用了"Column"列),values
参数指定了要用作新值的列(在这个例子中,我们使用了"Value"列)。
最后,我们打印了重塑后的数据框。