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

NetworkX问题:如何从Excel逗号分隔单元格为节点添加多个前置节点

解决方案

问题核心是from_pandas_edgelist会将Predecessors列的每个单元格值直接当作单个节点,不会自动拆分逗号分隔的内容。你需要先把DataFrame处理成每行对应一条边的格式,再导入NetworkX。

具体操作步骤:

  1. 拆分逗号分隔的前置节点,清理可能存在的空格,然后将多行节点展开为独立行:
# 拆分逗号分隔值,处理空格,展开成单行单节点的格式
df_processed = df1.assign(Predecessors=df1['Predecessors'].str.split(',')).explode('Predecessors')
df_processed['Predecessors'] = df_processed['Predecessors'].str.strip()
  1. 若数据中存在空的前置节点,可先过滤掉无效行:
df_processed = df_processed.dropna(subset=['Predecessors'])
  1. 用处理后的DataFrame创建有向图:
g = nx.from_pandas_edgelist(df_processed, 'Process Step', 'Predecessors', create_using=nx.DiGraph())

这样处理后,F05、F07、F09就会分别与F10建立独立边,不会被合并成单个节点。

内容的提问来源于stack exchange,提问作者Hari Prasath Thirupathy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 23:05:17