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

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

08-24 16:41
查看更多