python从csv读取数据,并通过networkx添加无向图的边的属性
时间: 2024-02-18 20:59:35 浏览: 166
NETWORKX无向图操作_networkx_python_
5星 · 资源好评率100%
好的,您可以使用pandas库来读取CSV文件,并使用NetworkX库来创建和操作图形。下面是一个基本的示例,它读取包含边和权重信息的CSV文件,并将它们添加到一个无向图中:
```python
import pandas as pd
import networkx as nx
# 从CSV文件中读取数据
df = pd.read_csv('edges.csv')
# 创建一个无向图
G = nx.Graph()
# 遍历每一行并将边和权重添加到图中
for index, row in df.iterrows():
source = row['source']
target = row['target']
weight = row['weight']
G.add_edge(source, target, weight=weight)
# 打印图形中所有边的属性
for edge in G.edges(data=True):
print(edge)
```
在这个例子中,我们首先使用pandas库从CSV文件中读取数据,并将其存储在一个数据帧中。然后,我们创建一个无向图,并使用iterrows()函数遍历每一行数据。在每个循环中,我们从数据帧中获取源节点、目标节点和权重,并使用add_edge()函数将它们添加到图形中。最后,我们使用edges(data=True)函数遍历所有的边,并打印它们的属性。
希望这可以帮助您解决问题。
阅读全文