Pat*_*bug 5 python matrix dataframe pandas
我有一个Pandas
DataFrame
看起来像这样:
MemberID A B C D
1 0.3 0.5 0.1 0
2 0 0.2 0.9 0.3
3 0.4 0.2 0.5 0.3
4 0.1 0 0 0.7
Run Code Online (Sandbox Code Playgroud)
我想有另一个矩阵,它给出了每个列的交集的非零元素的数量,除了MemberID
.
例如,列的交点A
和B
将是2(因为MemberID
1和3具有非零值A
和B
),相交A
和C
将是2,以及(因为MemberID
1和3具有非零值A
和C
).
最终矩阵看起来像这样:
A B C D
A 3 2 2 2
B 2 3 3 2
C 2 3 3 2
D 2 2 2 3
Run Code Online (Sandbox Code Playgroud)
我们可以看到,它应该是一个对称矩阵,类似于相关矩阵,但不是相关矩阵.
任意2列的交点=两列中MemberID
具有非零值的#.
我会在这里展示一些初始代码,但我觉得有一个简单的功能来执行我不知道的任务.
这是创建的代码DataFrame
:
df = pd.DataFrame([[0.3, 0.5, 0.1, 0],
[0, 0.2, 0.9, 0.3],
[ 0.4, 0.2, 0.5, 0.3],
[ 0.1, 0, 0, 0.7]],
columns=list('ABCD'))
Run Code Online (Sandbox Code Playgroud)
任何指针将不胜感激.TIA.