【问题标题】:How to construct a temporal network using python如何使用python构建时间网络
【发布时间】:2021-11-20 09:57:27
【问题描述】:

我有不同日期不同站点的数据:

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

我想构建一个动态/交互式网络,其中网络连接根据天而变化。

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

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

【问题讨论】:

  • 对于索引,hour_data.iterrows() 中的行:t.add_edge(row['start_station_name'], row['end_station_name'],row['hour']) print(t)跨度>

标签: pandas dataframe network-programming networkx


【解决方案1】:

这是一种做你想做的事的方法。首先,使用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

以下是此代码返回的内容。根据您提供的链接,您还可以通过使用 pathpy 设置网络样式来控制动画的速度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多