python传入表格建邻接矩阵
时间: 2023-07-03 16:31:55 浏览: 79
python将邻接矩阵输出成图的实现
假设你有一个存储边信息的表格,其中每一行表示一条边,包含两个节点的编号。你可以使用 pandas 库来读取表格数据,并使用 numpy 库来创建邻接矩阵。以下是一个示例代码:
```python
import pandas as pd
import numpy as np
# 读取边信息表格
df = pd.read_csv('edges.csv')
# 获取节点数
n = max(max(df['source']), max(df['target'])) + 1
# 创建邻接矩阵
adj_matrix = np.zeros((n, n))
for i, row in df.iterrows():
source = row['source']
target = row['target']
adj_matrix[source, target] = 1
adj_matrix[target, source] = 1
print(adj_matrix)
```
上述代码中,我们首先使用 pandas 库的 `read_csv` 函数读取存储边信息的表格。然后,我们获取节点数,方法与前面相同,也是找到表格中最大的节点编号加 1。接着,我们创建了一个 n 行 n 列的零矩阵,表示没有任何边相连。最后,我们遍历表格中的每一行,将矩阵中对应的元素设为 1,表示有一条边相连。由于是无向图,因此我们还需要将对称位置的元素设为 1,表示双向连接。
注意,在读取表格时,需要根据实际情况调整列名,以便正确获取节点编号。
输出结果类似于前面的示例。
阅读全文