gpt4 book ai didi

python-3.x - 如何创建两列的频率表并绘制热图

转载 作者:行者123 更新时间:2023-12-04 13:13:47 27 4
gpt4 key购买 nike

有谁知道像下面这样的图形是如何构造的?可能使用 seaborn 热图或 matplotlib 工具?

我在 Pandas 数据框中有相关数据;过去 5 年各个足球联赛每场比赛的主客场进球数,我只是不确定这样的数字是如何构建的?

我的数据是下面的形式;

FTHG  FTAG

2 0
3 1
2 2
1 2

FTHG = 全职家庭目标FTAG = 全时客场进球数

Football results description

最佳答案

使用 2 列创建交叉表(计数矩阵)。将它除以匹配总数以获得百分比。然后放入热图中。

您可以自己尝试使用样式等。

import pandas as pd
import seaborn as sns

df = pd.DataFrame([[1,0],[2,1],[3,2],[4,2],[5,0],[6,1],[7,1],[2,5],[5,3],
[4,0],[1,1],[2,2],[4,3],[1,4],[2,5],[4,6],[1,7],[2,0],
[2,2],[0,0],[2,1],[1,2],[1,0],[2,0],[1,1],[1,1],[1,0],
[2,5],[0,0],[1,1],[1,3],[1,3],[2,2],[1,1],[0,1],[1,0]],
columns=['FTHG','FTAG'])


df2 = pd.crosstab(df['FTHG'], df['FTAG']).div(len(df))
sns.heatmap(df2, annot=True)

输出:

enter image description here

关于python-3.x - 如何创建两列的频率表并绘制热图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62179830/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com