matplotlib 工作日和一天中某个小时的平均参与度热图

k5hmc34c  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(101)

我有一个这样的数据框

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

我想用seborn(或matplot)绘制一个热图,显示每个工作日和每个小时的平均参与度,X轴为工作日,Y轴为小时,颜色强度表示参与度值。

cigdeys3

cigdeys31#

请尝试:

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()

相关问题