计算网络中所有可能配对的连接总和

use*_*212 3 python pandas

基于列出源和目标之间连接的数据帧

import pandas as pd 
df = pd.DataFrame({'source':['A','B','B'],'destination':['B','C','C']})
print(df)
  source destination
0      A           B
1      B           C
2      B           C
Run Code Online (Sandbox Code Playgroud)

我想计算一个包含所有配对连接数的方阵,即结果数据帧应该是

   A  B  C
A  0  1  0
B  0  0  2       
C  0  0  0
Run Code Online (Sandbox Code Playgroud)

其中索引表示源,列标记目的地。

我要怎么去那儿?

jez*_*ael 5

使用crosstabDataFrame.reindex

v = np.unique(df.values)
df1 = pd.crosstab(df.source, df.destination).reindex(index=v, columns=v, fill_value=0)
print (df1)
destination  A  B  C
source              
A            0  1  0
B            0  0  2
C            0  0  0
Run Code Online (Sandbox Code Playgroud)