如何将BetweenessCentrality字典数据转换为Pandas DataFrame
解决方法
你的数据结构里,BetweenessCentrality对应的是一个以元组为键的字典,需要先拆分元组键为两列,再提取数值列。可以按以下步骤实现:
- 提取目标数据部分
results = {'BetweenessCentrality': {('A', 'B'): 5.8772289370698734e-05}} bc_data = results['BetweenessCentrality']
- 转换为符合要求的DataFrame
通过列表推导式把元组键拆分为User X和User Y,同时匹配对应的中心性数值:
import pandas as pd # 生成行数据列表 rows = [(user_x, user_y, score) for (user_x, user_y), score in bc_data.items()] # 创建DataFrame并指定列名 df = pd.DataFrame(rows, columns=['User X', 'User Y', 'Betweeness_Centrality'])
执行后得到的DataFrame结构如下:
| User X | User Y | Betweeness_Centrality |
|---|---|---|
| A | B | 5.877229e-05 |
原代码问题说明
你之前的df = pd.DataFrame({'col':results[f]})会把整个字典作为单个列的值,没有拆分元组键,因此无法生成三列的目标结构。
内容的提问来源于stack exchange,提问作者kunturs
相关产品推荐
相关产品推荐

