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