[英]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.