我的df如下所示:
name1 name2 value
0 A B 1300
1 A C 150
2 A D 300
3 B C 450
4 B D 200
5 C D 300
我try 对该表执行pivot
次操作,以基于value
列绘制类似Corr的热图:
table = df.pivot(columns='name1', index='name2', values='value')
table
结果是:
name1 A B C
name2
B 1300.0 NaN NaN
C 150.0 450.0 NaN
D 300.0 200.0 300.0
如何创建一个包含A-D的方阵,其值为name1
name2
等于name2
name1
(A
/B
=B
/A
=1300
)?
请注意,情况并非如此.
A B C D
A NaN 1300.0 150.0 300.0
B 1300.0 NaN 450.0 200.0
C 150.0 450.0 NaN 300.0
D 300.0 200.0 300.0 NaN
可重现的输入:
import pandas as pd
products_list = [['A', 'B', 1300],
['A', 'C', 150],
['A', 'D', 300],
['B', 'C', 450],
['B', 'D', 200],
['C', 'D', 300]]
df = pd.DataFrame(products_list, columns=['name1', 'name2', 'value'])