微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Python 中制作字符串标签数据的二维直方图/热图?

如何解决如何在 Python 中制作字符串标签数据的二维直方图/热图?

对于我的研究行业,我有一个包含某些事件的大型数据集,按如下方式组织在一个数据框中。每个事件都有事件类型 (str)、事件的年份 (int)、事件大小 (int) 和事件位置 (str)。

示例数据框结构如下,事件类型为“A”、“B”、“C”或“D”,事件位置为“CA”、“TX”、“NY”。

事件编号 事件类型 尺寸 位置
1 A 2014 1000 CA
2 B 2014 1000 发送
3 C 2014 456 CA
4 C 2014 675 纽约
5 B 2014 567 发送
6 A 2014 765 CA
7 C 2014 1000 纽约
8 B 2014 675 发送
9 D 2015 3424 纽约
10 A 2015 567 发送
11 A 2015 435 CA
12 C 2016 45 CA

现在,我想绘制事件类型与年份的热图。即,热图,x 轴为年份,y 轴为事件类型,热色表示该年发生了多少这些类型的事件。上表的结果矩阵如下所示:

事件类型 2014 2015 2016
A 2 2 0
B 3 0 0
C 3 0 1
D 0 1 0

我已经研究过使用 seaborn,但我不确定如何处理这种 2D 直方图。

如果我还想绘制位置与事件类型(2 个字符串)的热图,我该怎么做?

谢谢!

解决方法

seaborn.histplot 可以生成二元图并理解分类变量,因此:

df = pd.read_clipboard()
ax = sns.histplot(data=df,x="Event Type",y="Location",cbar=True)

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。