numpy的邻接矩阵输出一些不正确的值

时间:2018-09-25 23:47:16

标签: python pandas numpy

我有一个6000行数据框,如下所示:

    index name  title       appearance
    0     John  Article 1   1.0
    1     John  Article 3   1.0
    2     Jane  Article 1   1.0
    3     Jane  Article 2   1.0
    4     Sarah Article 2   1.0

我通过获取数据框的叉积创建了邻接矩阵:

covar_df = pd.DataFrame(columns = df.name.unique(), index = df.title.unique())
covar_df = covar_df.fillna(0)

for index, row in df.iterrows():
    person = df.loc[index, 'name']
    appearance = df.loc[index, 'appearance']
    covar_df.loc[df.loc[index, 'title'], person] += appearance

adjacency_df = pd.DataFrame(np.dot(covar_df.T, covar_df), index = df.name.unique(), columns = df.name.unique())

邻接矩阵中的大多数节点都是正确的,但事实并非如此。例如,如果输入以下内容,则使用实际数据:

[In]: covar_df['John'].sum()
[Out]: 626

但是在邻接矩阵中John与John相交的节点是630。

我不愿意共享数据集本身,所以我想知道我的代码中是否总有一些东西可以解决这个问题?

0 个答案:

没有答案