gpt4 book ai didi

python - 从简单的 pandas 数据帧创建矩阵

转载 作者:行者123 更新时间:2023-12-01 07:35:45 25 4
gpt4 key购买 nike

我有一个包含两列的简单数据框,希望将其转换为具有相同列数和行数的矩阵。

我有几种行组合,希望将它们复制到列中,以便在视觉层面上了解关系的强度(可能是和弦图)。

这是我正在使用的数据框示例:

variables         count
a 13
b 9
c 8
d 6
e 10
f 12
g 9
h 7
a_b 7
a_b_h 8

这是我想要的输出,考虑到我有几种组合,而不仅仅是成对的。

         a  b  c  d  e  f  g  h  a_b a_b_h
a 13 7 0 0 0 0 0 0 0 0
b 7 9 0 0 0 0 0 0 0 0
c 0 0 8 0 0 0 0 0 0 0
d 0 0 0 6 0 0 0 0 0 0
e 0 0 0 0 10 0 0 0 0 0
f 0 0 0 0 0 12 0 0 0 0
g 0 0 0 0 0 0 9 0 0 0
h 0 0 0 0 0 0 0 7 0 0
a_b 0 0 0 0 0 0 0 0 7 0
a_b_h 0 0 0 0 0 0 0 0 0 8

等等,以及所有的组合。

目标是构建一个如下所示的和弦图 - 它显示变量之间关系的强度

最佳答案

使用np.diag:

df = pd.DataFrame({"variables": ["a", "b", "c", "d", "e", "f", "g", "h", "a_b", "a_b_h"],
"count": [13, 9, 8, 6, 10, 12, 9, 7, 7, 8]})

df2 = pd.DataFrame(np.diag(df["count"]), columns=df["variables"], index=df["variables"])

输出:

variables   a  b  c  d   e   f  g  h  a_b  a_b_h
variables
a 13 0 0 0 0 0 0 0 0 0
b 0 9 0 0 0 0 0 0 0 0
c 0 0 8 0 0 0 0 0 0 0
d 0 0 0 6 0 0 0 0 0 0
e 0 0 0 0 10 0 0 0 0 0
f 0 0 0 0 0 12 0 0 0 0
g 0 0 0 0 0 0 9 0 0 0
h 0 0 0 0 0 0 0 7 0 0
a_b 0 0 0 0 0 0 0 0 7 0
a_b_h 0 0 0 0 0 0 0 0 0 8

关于python - 从简单的 pandas 数据帧创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56997982/

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