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

标签 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

我想计算一个方阵,其中包含所有配对的连接数,即生成的 DataFrame 应该是

   A  B  C
A  0  1  0
B  0  0  2       
C  0  0  0

其中索引代表源,列标记目标。

我怎样才能到达那里?

最佳答案

使用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

关于python - 计算网络中所有可能配对的连接总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59139580/

相关文章:

python - 属性错误: 'Series' object has no attribute 'columns' in Dask

python - 按日期将文件合并为一个文件

python - 保存带有一些额外信息的 DataFrame

python :win32com.client.GetActiveObject ("iTunes.Application")失败

python - 导入错误 : Package installed from Git using pip not found by Python

python - python 需要的 GLIBC_2.15

python 和 Pandas : series to timedelta

python - 将一列与包含分类值的多列进行比较,无需循环

python - 处理 ConnectionResetError

python - 如何统计一个列表中相同值的最长序列,然后输出一个元组中的最大序列