Pandas DataFrame热力图制作

您所在的位置:网站首页 根据经纬做画热力图怎么画的 Pandas DataFrame热力图制作

Pandas DataFrame热力图制作

2024-07-12 18:30| 来源: 网络整理| 查看: 265

Pandas DataFrame热力图制作

在本文中,我们将介绍如何使用Pandas DataFrame制作热力图,热力图是用颜色渐变的方式来展示数据分布的一种常用可视化工具。

阅读更多:Pandas 教程

Pandas DataFrame格式要求

制作热力图需要准备一个符合格式要求的Pandas DataFrame数据:

行列名称:可根据具体需求为DataFrame的行列名称进行命名 数值数据:必须是可处理为数值类型的数据

接下来,我们将通过下面的代码创建一个包含5个城市,3种气象数据的DataFrame:

import pandas as pd import numpy as np city = ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Chengdu'] data = np.random.rand(5, 3) * 100 df = pd.DataFrame(data, columns=['temp', 'humidity', 'pressure'], index=city) print(df)

输出结果如下:

temp humidity pressure Beijing 20.613260 18.635190 6.911586 Shanghai 85.275222 90.086730 67.491592 Guangzhou 90.044952 7.116220 95.579838 Shenzhen 27.445025 90.633246 99.197376 Chengdu 25.007299 90.279773 92.971441

其中,行列分别为5个城市和3种气象数据。

使用seaborn绘制热力图

接下来我们将介绍如何使用seaborn绘制使得数据可视化的热力图。

首先,需要安装seaborn,安装方式如下:

pip install seaborn

下面的代码展示了如何使用seaborn将df中的数据绘制成热力图:

import seaborn as sns import matplotlib.pyplot as plt sns.heatmap(df, annot=True, fmt='.2f', cmap='YlGnBu') plt.show()

我们可以看到5个城市中3种气象数据的分布情况。从颜色深浅可以更加清楚地看到数据的差异,同时通过注释可以更清晰地看到具体的数据值。

手动绘制热力图

如果上述方法不能满足要求或者需要进行更复杂的定制,我们也可以手动绘制热力图。

下面是一个绘制类似于上述seaborn的示例:

import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() im = ax.imshow(df, cmap='YlGnBu') ax.set_xticks(np.arange(len(df.columns))) ax.set_yticks(np.arange(len(df.index))) ax.set_xticklabels(df.columns) ax.set_yticklabels(df.index) for i in range(len(df.index)): for j in range(len(df.columns)): text = ax.text(j, i, f'{df.iloc[i, j]:.2f}', ha='center', va='center', color='w') ax.set_title('City Temperature') fig.tight_layout() plt.show()

该方法的可定制化性很高,如需要修改颜色、字体等均可以通过修改代码来进行实现。

总结

本文介绍了如何使用Pandas来制作热力图,包括制作热力图的DataFrame格式要求以及在实际中如何使用seaborn或者手动绘制热力图。

热力图是了解统计数据分布情况的重要方法,可以结合其他的分析方法一起来进行数据的可视化,以此来更加深入地了解数据。希望本文能够对大家有所帮助。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3