pandas - 如何获取结果字典的值。使用 pandas to_dict() 方法时
问题描述
我从一个 pd 数据框开始:
Node,prob
0 0 ,0.0035
1 1 ,0.0070
2 2 ,0.0025
3 3 ,0.0005
4 4 ,0.0105
5 5 ,0.0015
6 6 ,0.0085
7 7 ,0.0055
8 8 ,0.0060
9 9 ,0.0030
我有需要值(概率)的索引(节点)。指数为:
array([0, 2, 4, 8, 9, 5, 3, 1])
我将数据框转换为字典并运行一个循环。我几乎得到了想要的结果。我已经迭代了所有 _todict 选项,并且“索引”和“记录”是效果最好的选项。:
nodes2 = nodes.to_dict("index")
for i in indices:
print(nodes2[i])
结果:
{'Node,prob': '0,0.0035'}
{'Node,prob': '2,0.0025'}
{'Node,prob': '4,0.0105'}
{'Node,prob': '8,0.0060'}
{'Node,prob': '9,0.0030'}
{'Node,prob': '5,0.0015'}
{'Node,prob': '3,0.0005'}
{'Node,prob': '1,0.0070'}
理想情况下,我会得到一个由上述字典的值表示的 numpy 数组,如下所示。如何从字典中提取以下内容?跳这不是太混乱!提前致谢。
[
[0 0.0035]
[2 0.0025]
[4 0.0105]
[8 0.0060]
[9 0.0030]
[5 0.0015]
[3 0.0005]
[1 0.0070]
]
解决方案
如果您的示例输出正确
nodes2 = nodes.to_dict("index")
new_list = [ map(float, nodes2[i]['Node,prob'].split(',') for i in indices]
print(new_list)
推荐阅读
- visual-studio - 添加表适配器时未将对象引用设置为对象的实例
- c# - 使用 Linq 从列表中删除两个重复项(如果一个重复项)
- python - 与模块“re”匹配模式的类型错误
- vba - Excel存储过程调用中的行重复
- angular - Type '{Property: string, Property2: string} 不可分配给 Observable 类型
- c# - 如何在 ASP.NET Core 中使用 HttpContext.Current
- java - 添加新的组合框 Java
- python - 如何通过python click框架定义这个命令?
- state-machine - Spring 状态机 UML 保留在内存中
- c++ - 使用 multiset_of 提升 bimap 查找