如何使用 python 构建时间网络

How to construct a temporal network using python

我有一个不同天不同站的数据:

Station_start    Station_end    Day    Hour
A                B              1      14
B                C              1      10
C                A              1      10
B                A              2      15
A                C              2      13
D                E              2      12
E                B              2      14
F                C              3      12

我想构建一个 dynamic/interactive 网络,网络连接每天都在变化。

我在 tutorial of pathpy 中找到了一个例子。

但是,如何使用节点 Station_start 和 Station_end 加载 pandas 数据帧?

这里有一种方法可以做你想做的事。首先,使用 pd.read_fwf 将数据加载到 pandas 数据框中(我将数据保存在名为 data_net.txt 的文件中)。 然后使用 pp.add_edge 将边逐渐添加到您的时间网络。 运行 t 在单元格中查看动画。 有关更多详细信息,请参见下面的代码:

import networkx as nx
import matplotlib.pyplot as plt
import pandas as pd
import pathpy as pp

df=pd.read_fwf('data_net.txt')

t = pp.TemporalNetwork()
[t.add_edge(df['Station_start'][i],df['Station_end'][i],int(df['Day'][i])) for i in range(len(df))]

t  # run t in a cell to start the animation

下面是这段代码returns。根据你给的link,你还可以通过用pathpy设置网络样式来控制动画的速度。