我有一个数据集A中的(x,y,z)元组列表。 如何使用x和y的现有值分别作为索引和列值来生成表示A的基础矩阵的数据帧B?
示例:
A:
x y z
1 1 1
1 2 10
2 1 100
B:
1 2
1 1 10
2 100 NaN
答案 0 :(得分:1)
对于此数据框df
:
x y z
0 1 1 1
1 1 2 10
2 2 1 100
枢转:
df.pivot(index='x', columns='y')
工作的:
z
y 1 2
x
1 1.0 10.0
2 100.0 NaN
您还可以清除列和索引名称:
res = df.pivot(index='x', columns='y')
res.index.name = None
res.columns = res.columns.levels[1].values
print(res)
输出:
1 2
1 1.0 10.0
2 100.0 NaN