如何将含Nodes和Edges的DataFrame三列转换为嵌套字典?
解决方案
假设你的DataFrame包含三列:源节点(作为外层字典的键)、目标节点(作为内层字典的键)、权重值(作为内层字典的值),可以用以下方法快速生成目标嵌套字典:
- 按源节点分组,将每组的目标节点与权重对应成键值对
- 将分组结果直接转换为嵌套字典
具体代码如下:
import pandas as pd # 假设你的DataFrame名为df,列名分别是'Source', 'Target', 'Weight' result_dict = df.groupby('Source').apply(lambda x: dict(zip(x['Target'], x['Weight']))).to_dict()
如果你的列名和示例不同,只需替换代码中对应的列名即可。另外需要注意:字典的键具有唯一性,若同一外层键下出现重复的内层键,最终只会保留最后一个对应的权重值。
内容的提问来源于stack exchange,提问作者beaumoqueur
相关产品推荐
相关产品推荐

