如何使用 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设置网络样式来控制动画的速度。
我有一个不同天不同站的数据:
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设置网络样式来控制动画的速度。