gpt4 book ai didi

python - 如何为虚拟变量及其组合创建值汇总矩阵

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

我有一个pandas数据框:

    import pandas as pd

df = pd.DataFrame({'dummy_1' : [0, 0, 0, 1, 1, 0],
'dummy_2' : [1, 1, 0, 0, 1, 1],
'dummy_3' : [1, 1, 1, 0, 0, 0]})

我最终想要的是“相关矩阵类型”,但不是相关性,而是“每个变量有多少个 ones (1s),每个变量的 ones (1s)

所以在我的例子中矩阵应该是这样的

        dummy_1 dummy_2 dummy_3
dummy_1 2/6 1/6 0/6
dummy_2 4/6 2/6
dummy_3 3/6

这个矩阵是对称的,这就是为什么我只写了上面的对角线元素

最佳答案

使用dot :

import pandas as pd

df = pd.DataFrame({'dummy_1': [0, 0, 0, 1, 1, 0],
'dummy_2': [1, 1, 0, 0, 1, 1],
'dummy_3': [1, 1, 1, 0, 0, 0]})


result = pd.DataFrame(df.T.dot(df) / len(df), columns=df.columns, index=df.columns)
print(result)

输出

          dummy_1   dummy_2   dummy_3
dummy_1 0.333333 0.166667 0.000000
dummy_2 0.166667 0.666667 0.333333
dummy_3 0.000000 0.333333 0.500000

关于python - 如何为虚拟变量及其组合创建值汇总矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54631929/

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