在 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...的周创建一个新列,以便更容易阅读
下面的 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...的周创建一个新列,以便更容易阅读