You need to enable JavaScript to run this app. 如何将pandas dataframe属性添加到GML加载的NetworkX网络节点中
优惠活动
大模型
产品
解决方案
定价
更多

如何将pandas dataframe属性添加到GML加载的NetworkX网络节点中

操作步骤

你可以通过将DataFrame转为用户与CLASSE的映射字典,再遍历NetworkX节点匹配赋值的方式实现需求,完整可运行代码如下:

import networkx as nx
import pandas as pd

# 1. 读取GML文件
G = nx.read_gml('你的输入GML文件路径.gml')

# 2. 生成USER到CLASSE的映射字典(先去重避免重复数据干扰)
df = pd.DataFrame({
    'USER': [
        '5B5F2C071D12AF13219DF5EBE05132AF', 
        '9FB3B96B6D5E16C9DD564AA3E84F1954',
        'B3299B0E587D7275E3E4D530E9EECF50', 
        '6432F1DF21BA38368D9A165C739EEBB3',
        '85D5C50A6D882CA8E4BB00BCA3574417', 
        '85D5C50A6D882CA8E4BB00BCA3574417'
    ],
    'CLASSE': [3,3,2,2,1,1]
})
classe_map = df.drop_duplicates(subset='USER').set_index('USER')['CLASSE'].to_dict()

# 3. 遍历节点匹配赋值CLASSE属性
for node_id, node_attrs in G.nodes(data=True):
    user_label = node_attrs['label']
    # 匹配到则赋值,未匹配到可以自行修改默认值
    G.nodes[node_id]['CLASSE'] = classe_map.get(user_label, 0)

# 4. 导出新增CLASSE字段后的GML文件
nx.write_gml(G, '输出的GML文件路径.gml')

验证结果

你可以通过以下代码验证导出的文件是否符合要求:

G_check = nx.read_gml('输出的GML文件路径.gml')
print(list(G_check.nodes(data=True)))

输出的节点属性中会包含CLASSE字段,和你要求的格式完全一致。

内容的提问来源于stack exchange,提问作者Costa.Gustavo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 10:18:11