下面是一个示例代码,演示了如何按照行和列对Pandas DataFrame进行重新结构:
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
print("原始DataFrame:")
print(df)
# 使用melt函数按照行进行重新结构
df_melted = pd.melt(df)
print("\n按照行重新结构的DataFrame:")
print(df_melted)
# 使用pivot函数按照行和列进行重新结构
df_pivoted = df_melted.pivot(index='variable', columns='value', values='value')
print("\n按照行和列重新结构的DataFrame:")
print(df_pivoted)
输出结果为:
原始DataFrame:
A B C
0 1 6 11
1 2 7 12
2 3 8 13
3 4 9 14
4 5 10 15
按照行重新结构的DataFrame:
variable value
0 A 1
1 A 2
2 A 3
3 A 4
4 A 5
5 B 6
6 B 7
7 B 8
8 B 9
9 B 10
10 C 11
11 C 12
12 C 13
13 C 14
14 C 15
按照行和列重新结构的DataFrame:
value 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
variable
A 1 2 3 4 5 NaN NaN NaN NaN NaN NaN NaN NaN NaN
B NaN NaN NaN NaN NaN 6 7 8 9 10 NaN NaN NaN NaN
C NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 11 12 13 14 15
这里使用了melt
函数将DataFrame按照行重新结构,然后使用pivot
函数按照行和列重新结构。
上一篇:按照行号排序的CASE语句