要将对称的Pandas DataFrame中的索引、列和值分离到三个不同的列中,可以使用stack()
方法将DataFrame转换为MultiIndex Series,然后将其转换为DataFrame,并重命名列。以下是具体的步骤和示例代码:
假设我们有一个对称的Pandas DataFrame df
:
import pandas as pd
# 创建一个对称的DataFrame
data = {
'A': [1, 2, 3],
'B': [2, 4, 5],
'C': [3, 5, 6]
}
df = pd.DataFrame(data)
df = df.set_index(df.columns[0]).T # 转置并设置索引
现在,我们将索引、列和值分离到三个不同的列中:
# 将DataFrame转换为MultiIndex Series
stacked = df.stack()
# 将MultiIndex Series转换为DataFrame
result = stacked.reset_index()
result.columns = ['Index', 'Column', 'Value']
print(result)
stack()
方法将DataFrame转换为MultiIndex Series。reset_index()
方法将MultiIndex Series转换为DataFrame,并重命名列。 Index Column Value
0 A A 1
1 A B 2
2 A C 3
3 B A 2
4 B B 4
5 B C 5
6 C A 3
7 C B 5
8 C C 6
这种方法不仅适用于对称矩阵,还可以推广到其他需要分离索引、列和值的场景。
领取专属 10元无门槛券
手把手带您无忧上云