如何使用重复数据在 Seaborn 中绘制热图?
How to plot heat map in Seaborn with repeated Data?
我在 pandas 中有 DataFrame,想绘制热图,但我有重复记录,而 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
如何绘制热图?
相反,"repeated data" 就像您提供的那样实际上非常适合旋转,这基本上是制作热图所需要做的全部工作。除非我误解了你想要完成的事情,
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
我在 pandas 中有 DataFrame,想绘制热图,但我有重复记录,而 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
如何绘制热图?
相反,"repeated data" 就像您提供的那样实际上非常适合旋转,这基本上是制作热图所需要做的全部工作。除非我误解了你想要完成的事情,
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