在 Pandas 中构建热图

Build a heatmap in Pandas

下面的 DataFrame 包含有关程序启动的信息。

          week           day    number of launchings    
2016-12-19 - 2016-12-25  Mon              70
2016-12-19 - 2016-12-25  Tue              91
2016-12-19 - 2016-12-25  Wed              117
2016-12-19 - 2016-12-25  Thu              57
2016-12-19 - 2016-12-25  Fri              33
2016-12-19 - 2016-12-25  Sat              38
2016-12-19 - 2016-12-25  Sun              27
2016-12-26 - 2017-01-01  Mon              52
2016-12-26 - 2017-01-01  Tue              52
2016-12-26 - 2017-01-01  Wed              41
2016-12-26 - 2017-01-01  Thu              60
2016-12-26 - 2017-01-01  Fri              25
2016-12-26 - 2017-01-01  Sat              12
2016-12-26 - 2017-01-01  Sun              51
                     ...

我需要获取下一个结构的热图:

您可以使用 seaborn 包来制作非常漂亮的 heatmaps.Assuming 您上面的数据存储在名为 df 的 pandas 数据框中,

import matplotlib.pyplot as plt
import seaborn as sns
df = df.pivot("week", "day", "number of launchings")
ax = sns.heatmap(df)
plt.show()

应该能满足您的需求。您可能想为编号为 1、2、3...的周创建一个新列,以便更容易阅读