工作日和一天中不同时间的平均参与度热图

发布于 2025-01-11 19:04:43 字数 436 浏览 0 评论 0原文

我有一个像这样的数据框,

Engagement   ...    Weekday    Hour
13000        ...    3          12
25000        ...    4          19
9000         ...    0          23
...          ...    ...        ...

我想用seaborn(或matplot)绘制一个热图,显示每个工作日和每个小时的平均参与度,其中x轴为工作日,y轴为小时,以及参与度值的颜色。 它应该像这样 在此处输入图像描述

I have a data frame like this

Engagement   ...    Weekday    Hour
13000        ...    3          12
25000        ...    4          19
9000         ...    0          23
...          ...    ...        ...

I would like to plot with seaborn (or matplot) a heatmap that shows the average engagement per weekday and hour, with the weekday on the x-axis, the hour on the y-axis and the intensity of the colour for the engagement value.
It should come out something like this enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

站稳脚跟 2025-01-18 19:04:43

尝试:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

rng = np.random.default_rng(2022)
df = pd.DataFrame({'Engagement': rng.integers(1000, 100000, 1000),
                   'Weekday': rng.integers(0, 7, 1000),
                   'Hour': rng.integers(0, 24, 1000)})

out = df.groupby(['Hour', 'Weekday'])['Engagement'].mean().unstack()
sns.heatmap(out)
plt.show()

在此输入图像描述

Try:

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

rng = np.random.default_rng(2022)
df = pd.DataFrame({'Engagement': rng.integers(1000, 100000, 1000),
                   'Weekday': rng.integers(0, 7, 1000),
                   'Hour': rng.integers(0, 24, 1000)})

out = df.groupby(['Hour', 'Weekday'])['Engagement'].mean().unstack()
sns.heatmap(out)
plt.show()

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文