如何循环调用cdindex函数计算节点值并将结果存储为DataFrame
完整实现代码
你已经完成cdindex.Graph实例初始化、节点与边添加的前提下,直接运行以下代码即可生成目标DataFrame:
import pandas as pd import datetime # -------------------------- 前置参数配置 -------------------------- # 复用你使用的5年时间窗口,提前计算避免循环中重复运算提升效率 time_window = int(datetime.timedelta(days=1825).total_seconds()) # 获取图中所有节点名称,如果你自己已提前存储节点列表,可直接替换该变量 node_list = graph.get_nodes() # -------------------------- 批量计算cdindex值 -------------------------- result = [] for node in node_list: cd_val = graph.cdindex(node, time_window) result.append({ "Node_Name": node, "cdindex_Value": cd_val }) # -------------------------- 转换为DataFrame -------------------------- cdindex_df = pd.DataFrame(result)
可选优化:异常兼容版本
如果担心个别节点计算异常导致整个流程中断,可以使用带异常捕获的逻辑:
result = [] for node in node_list: try: cd_val = graph.cdindex(node, time_window) result.append({"Node_Name": node, "cdindex_Value": cd_val}) except: # 异常节点可根据需求调整为填充空值、跳过或打印错误信息 result.append({"Node_Name": node, "cdindex_Value": None}) cdindex_df = pd.DataFrame(result)
执行完成后可调用cdindex_df.head()查看前几行数据,确认字段和计算结果符合预期。
内容的提问来源于stack exchange,提问作者AHK
相关产品推荐
相关产品推荐

