【发布时间】:2019-04-10 03:20:19
【问题描述】:
考虑这个简单的例子
#python bros
pd.DataFrame({'id' : [1,1,2,3],
'time_in' : [0,30,1,5],
'time_out' : [2,35,3,6]})
Out[66]:
id time_in time_out
0 1 0 2
1 1 30 35
2 2 1 3
3 3 5 6
#R bros
dplyr::data_frame(id = c(1,1,2,3),
time_in = c(0,30,1,5),
time_out = c(2,35,3,6))
在这里,解释很简单。
个人1 在时间0 和时间2 之间停留在给定地点。个人2 在时间1 和时间3 之间停留在那里。因此,个人 2 遇到了个人 1 并在我的网络中连接到它。
也就是说,我的网络的节点是id,如果它们的[time_in, time_out]间隔重叠,两个节点之间就有一条边。
有没有一种有效的方法可以从这些输入数据中生成adjacency matrix 或edge list,以便我可以在networkx 等网络包中使用它?我的真实数据集远不止于此。
谢谢!
【问题讨论】:
-
两者。我不介意使用任何一个。这看起来像一个非标准问题......
标签: python r pandas dplyr networkx