微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Pandas 数据帧向 networkx 网络添加属性

如何解决从 Pandas 数据帧向 networkx 网络添加属性

我有一个 .gml 文件,如下所示:

graph [
  directed 1
  node [
    id 0
    label "5B5F2C071D12AF13219DF5EBE05132AF"
  ]
  node [
    id 1
    label "9FB3B96B6D5E16C9DD564AA3E84F1954"
  ]
  node [
    id 2
    label "B3299B0E587D7275E3E4D530E9EECF50"
  ]
  node [
    id 3
    label "6432F1DF21BA38368D9A165C739EEBB3"
  ]
  node [
    id 4
    label "85D5C50A6D882CA8E4BB00BCA3574417"
  ]
  node [
    id 5
    label "0D8583F810B9720A8032BB939F12B3FF"
  ]
  node [
    id 6
    label "6C10A9E9F325CAA3CCB7F9A0D6983D2A"
  ]
  node [
    id 7
    label "B0C50ED1DEC9E06E4C64E7419DDC4B09"
  ]
]

我是这样读这个文件的:

import networkx as nx
import matplotlib.pyplot as plt
import pandas as pd

G = nx.read_gml(path)
list(G.nodes(data=True))

我有一个如下所示的熊猫数据框:

df = pd.DataFrame({'USER': ['5B5F2C071D12AF13219DF5EBE05132AF','9FB3B96B6D5E16C9DD564AA3E84F1954','B3299B0E587D7275E3E4D530E9EECF50','6432F1DF21BA38368D9A165C739EEBB3','85D5C50A6D882CA8E4BB00BCA3574417','85D5C50A6D882CA8E4BB00BCA3574417'],'CLASSE': [3,3,2,1,1]})
df

我需要在两个数据集之间进行合并,以便将上面呈现的数据帧的 CLASSE 属性添加到网络中,使网络看起来像以下演示:

graph [
  directed 1
  node [
    id 0
    label "5B5F2C071D12AF13219DF5EBE05132AF"
    CLASSE 3
  ]
...others nodes

我需要这样做是因为我想过滤网络上的 CLASSE 属性。有人可以帮忙吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。