如何解决使用字典过滤数据框邻接矩阵
上下文:我有两个数据集:
- 表征加权有向网络的数据帧
df_edges
id_from: id_to: weight:
id1 id2 0.5 .
id1 id3 0.2
id2 id3 0.4
id2 id4 0.5
...
id3 id1 1.2
- 字典
dict_rel
表征 id 之间的配对,表明此边是特殊/重要的对应物。
dict_rel = {'id1': 'id3','id2': 'id10',...
特点:
- 在某些情况下,字典指定为重要的边缘可能根本不会出现在边缘数据中。
- 在扩展中,除了简单的字典之外,我还会有一个其中每个键的值都是重要对应项的列表(让我怀疑我尝试使用字典来解决这个问题是否不是特别聪明)。
目标 我想从 weight
中为 df_edges
中的每个键提取 dict_rel
值,以便我最终得到沿着
id: important_counterpart_id: important_counterpart_id_weight:
id1 id3 0.2
id2 id10 0
...
(从那里开始,计算例如任何具有“重要对应物”的节点的边权重份额应该很简单。)
尝试:将数据导入上述表单后,我尝试:
dict_weights = {}
for key,value in dict_rel.items():
dict_weights[key] = df_edges.loc[(df_edges['id_from']==key) &
(df_edges['id_to']==value)].weight
然后我可以用它来构建所需的数据框。但是内核在这个操作中卡住了。
任何帮助都会很棒!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。