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

如何为已创建的StellarGraph图添加新的节点属性?

为StellarGraph添加新节点属性的方法

StellarGraph没有像NetworkX那样直接给节点追加属性的便捷函数,因为它的节点特征是不可变的,得通过重新构造特征矩阵的方式来实现,具体步骤如下:

  • 提取现有节点特征
    假设你的图对象叫g,用g.node_features()可以拿到现有的特征矩阵,g.nodes()能获取节点ID列表,要确保new_feature的顺序和节点ID顺序对应(你这里节点1到4对应[2,3,5,6],顺序没问题)。

  • 合并新旧特征
    把new_feature转换成和现有特征匹配的二维数组格式,再和原特征拼接:

    import numpy as np
    
    # 获取现有特征
    existing_feats = g.node_features()
    # 把新特征转成列向量
    new_feats = np.array([2,3,5,6]).reshape(-1, 1)
    # 横向拼接得到新的特征矩阵
    combined_feats = np.hstack([existing_feats, new_feats])
    
  • 重新构建StellarGraph对象
    用合并后的特征重新创建图,同时保留原有的边数据:

    from stellargraph import StellarGraph
    
    # 提取原边数据
    edge_data = g.edges()
    # 重新构造图
    updated_graph = StellarGraph(nodes={"default": combined_feats}, edges=edge_data)
    
  • 注意事项
    如果你的节点不是按1、2、3、4顺序排列的,一定要先通过list(g.nodes())确认节点ID的顺序,再调整new_feature的对应关系,避免属性错配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 22:07:06