networkx中怎么构造ER随机图有向图
时间: 2024-03-06 08:21:28 浏览: 49
在 NetworkX 中构造ER随机有向图的方法是使用 `gnp_random_graph` 函数,设置参数 `directed=True` 即可构造ER随机有向图。例如,构造含10个节点、平均度数为2的ER随机有向图可以使用以下代码:
```python
import networkx as nx
n = 10 # 节点数
p = 0.2 # 边密度
G = nx.gnp_random_graph(n, p, directed=True)
```
相关问题
用networkx从excel表格中导入有向图
可以使用 `pandas` 库将 Excel 表格读入为数据帧,然后使用 `networkx` 库将数据帧转换为有向图。
下面是一个简单的示例代码:
```python
import pandas as pd
import networkx as nx
# 读入 Excel 表格
df = pd.read_excel('filename.xlsx')
# 创建有向图
G = nx.DiGraph()
# 添加节点
G.add_nodes_from(df['Node'])
# 添加边
for i, row in df.iterrows():
G.add_edge(row['Source'], row['Target'])
# 打印有向图信息
print(nx.info(G))
```
其中,`filename.xlsx` 是 Excel 表格文件名,`Node`、`Source` 和 `Target` 是表格中的列名,分别表示节点、起始节点和目标节点。
这段代码将 Excel 表格中的数据转换为有向图,并打印了有向图的一些基本信息。你可以根据需求使用 `networkx` 库提供的其他功能来处理这个有向图。
python networkx中获得有向图的successor
要获得有向图的successors(后继节点),可以使用networkx库中`successors(G, node)`函数。其中,`G`是有向图对象,`node`是指定节点。
示例代码:
```python
import networkx as nx
# 创建有向图
G = nx.DiGraph()
G.add_edges_from([(1, 2), (1, 3), (2, 4), (3, 4)])
# 获取节点1的后继节点
successors = list(G.successors(1))
print(successors) # 输出 [2, 3]
```
以上代码将输出节点1的后继节点,即`[2, 3]`。