python матрица смежности с кросс-таблицей pd - PullRequest
0 голосов
/ 24 января 2020

У меня есть два текстовых файла - один из узлов и один из ребер. Я прочитал это с pandas. Узлы имеют 1490 узлов с исходным столбцом, а затем несколько столбцов с дополнительной информацией (не требуется). Края имеют исходный столбец, целевой столбец и столбец веса. На краях есть только 1065 уникальных источников - так что, я думаю, некоторые узлы не связаны ни с каким другим узлом?

Чтобы получить данные из источника, цели и веса, я только что слился.

df=pd.merge(nodes, edges, on='source')

Мне нужно создать матрицу смежности из этого. Я сделал:

df = pd.crosstab(df.source, df.target)
idx = df.columns.union(df.index)
df = df.reindex(index = idx, columns=idx, fill_value=0)

#adjacency matrix
A = df.as_matrix()

ОДНАКО форма А равна 1224, 1224. Итак, представьте, что это неверно, поскольку форма матрицы смежности должна быть 1490, 1490, чтобы иметь все узлы. И тогда значения матрицы будут равны 0, если нет источника, целевого взаимодействия. Это правильное предположение. Может ли кто-нибудь указать мне правильное направление для создания этой матрицы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...