You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python基于pandas数据借助pathpy构建动态可交互时序网络

基于pandas站点关联数据构建pathpy动态交互网络的方法

前置依赖导入

import pandas as pd
import pathpy as pp

数据预处理

现有数据包含起止站点、日期、小时字段,首先需要生成统一的时间戳,方便pathpy识别时序关系:

# 直接用Day列作为时间戳即可实现按天切换网络的效果
df['timestamp'] = df['Day']
# 如果需要更细的小时粒度切换,可以用下面的计算方式生成连续时间戳
# df['timestamp'] = df['Day'] * 24 + df['Hour']

加载数据到pathpy时序网络对象

两种加载方式可按需选择:

  • 批量加载(适合大数据量,效率更高)
t = pp.TemporalNetwork.from_edge_list(df[['Station_start', 'Station_end', 'timestamp']].values)
  • 逐行加载(适合需要额外判断边属性的场景)
t = pp.TemporalNetwork()
for _, row in df.iterrows():
    t.add_edge(
        row['Station_start'], 
        row['Station_end'], 
        row['timestamp']
    )

生成动态交互可视化

直接调用时序网络的plot方法即可生成带时间滑块的可交互页面,拖动滑块即可查看不同日期对应的网络连接关系:

t.plot(
    node_color="#2563eb", 
    edge_color="#9ca3af",
    node_size=10
)

如果你需要单独查看某一天的静态网络,可先筛选对应日期的子集再构建Network对象即可:

day2_net = pp.Network.from_edge_list(df[df['Day']==2][['Station_start', 'Station_end']].values)
day2_net.plot()

内容的提问来源于stack exchange,提问作者K C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:45:03