Python 如何用重复数据绘制Seaborn的热图?

Python 如何用重复数据绘制Seaborn的热图?,python,pandas,seaborn,Python,Pandas,Seaborn,我有熊猫的数据框,想画一张热图,但我有重复的记录,seaborn不能处理重复的数据。我的数据帧: From To Distance 0 ABINGTON AMBLER 10.0 1 ABINGTON BERKS COUNTY 42.0 2 ABINGTON BRIDGEPORT 19.0 3 ABIN

我有熊猫的数据框,想画一张热图,但我有重复的记录,seaborn不能处理重复的数据。我的数据帧:

                  From       To      Distance
            0   ABINGTON    AMBLER  10.0
            1   ABINGTON    BERKS COUNTY    42.0
            2   ABINGTON    BRIDGEPORT  19.0
            3   ABINGTON    BRYN ATHYN  6.0
            4   ABINGTON    BUCKS COUNTY    19.0
            5   ABINGTON    CHELTENHAM  4.0
            6   ABINGTON    CHESTER COUNTY  38.0
            7   ABINGTON    COLLEGEVILLE    30.0
            8   ABINGTON    CONSHOHOCKEN    16.0
            9   AMBLER  BERKS COUNTY    32.0
            10  AMBLER  BRIDGEPORT  12.0
            11  AMBLER  BRYN ATHYN  14.0
            12  AMBLER  BUCKS COUNTY    11.0
            13  AMBLER  CHELTENHAM  11.0
            14  AMBLER  CHESTER COUNTY  29.0

如何绘制热图?

相反,拥有重复的数据(如您提供的数据)实际上有助于旋转,这基本上是制作热图所需的全部工作。除非我误解了你想要实现的目标

df_piv = df.pivot('From', 'To', 'Distance')
ax = sns.heatmap(df_piv)
plt.xticks(rotation=20)
将为您提供数据的热图,其中灰色框表示缺少的值

数据透视框如下所示

In [14]: df_piv.T
Out[15]: 
From            ABINGTON  AMBLER
To                              
AMBLER              10.0     NaN
BERKS COUNTY        42.0    32.0
BRIDGEPORT          19.0    12.0
BRYN ATHYN           6.0    14.0
BUCKS COUNTY        19.0    11.0
CHELTENHAM           4.0    11.0
CHESTER COUNTY      38.0    29.0
COLLEGEVILL         30.0     NaN
CONSHOHOCKEN        16.0     NaN