繁体   English   中英

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

[英]How to make a 2D Histogram/Heatmap of (string) label data in Python?

我有一个针对我的研究行业的某些事件的大型数据集,组织在 dataframe 中,如下所示。 每个事件都有事件类型 (str)、事件年份 (int)、事件大小 (int) 和事件位置 (str)。

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

事件编号 事件类型 尺寸 地点
1 一个 2014 1000 加州
2 2014 1000 德克萨斯州
3 C 2014 456 加州
4 C 2014 675 纽约
5 2014 567 德克萨斯州
6 一个 2014 765 加州
7 C 2014 1000 纽约
8 2014 675 德克萨斯州
9 D 2015 3424 纽约
10 一个 2015 567 德克萨斯州
11 一个 2015 435 加州
12 C 2016 年 45 加州

现在,我想 plot 事件类型与年份的热图。 即,x 轴为年份、y 轴为事件类型的热图,以及表示该年发生了多少此类事件的计数的热颜色。 上表的结果矩阵如下所示:

事件类型 2014 2015 2016 年
一个 2 2 0
3 0 0
C 3 0 1
D 0 1 0

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

如果我还想 plot 位置与事件类型(2 个字符串)的热图,我将如何 go 呢?

谢谢!

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

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

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM