python - 如何返回每个字段/列只有一个值的结构化数组?
问题描述
我正在尝试构建一个结构化的 numpy 数组,其中包含两个值、一个分数和一个置信度,它们都是浮点数。永远不会有多个分数和多个置信度作为输出,每个只有一个。
np.array([[0.9], [0.95]], dtype=[('score', 'float64'), ('confidence', 'float64')])
但是输出看起来像array([[(0.9 , 0.9 )], [(0.95, 0.95)]], dtype=[('score', '<f8'), ('confidence', '<f8')])
.
我不明白为什么它会翻倍。理想情况下,这会返回类似array([(0.9, 0.95)], dtype=[('score', '<f8'), ('confidence', '<f8')])
. 此外,可能没有计算分数和置信度,在这种情况下,我也应该能够返回具有相同形状的结构化数组,只是它是空的。您对如何解决我正在做的事情有任何想法,以便解决我讨论的空和非空情况吗?谢谢!
解决方案
object
传递给不np.array
正确- 将元组列表作为对象传递(例如
[(x1, y1), (x2, y2)]
) tuple
应该包含所需的字段(例如score
和confidence
)- 可以在结构化数组中找到更多详细信息
- 将元组列表作为对象传递(例如
my_array = np.array([(0.9, 0.95), (0.8, 0.96)], dtype=[('score', np.float64), ('confidence', np.float64)])
print(my_array)
>>> array([(0.9, 0.95), (0.8, 0.96)],
dtype=[('score', '<f8'), ('confidence', '<f8')])
print(my_array['score'])
>>> array([0.9, 0.8])
推荐阅读
- stm32 - 使用 STs I2C HAL 库不向寄存器写入数据
- laravel - 当不存在订阅时,Laravel 收银员`$user->subscribed()` 返回 true
- c# - C# 使用 Include 连接两个表。数据来自模型
- jhipster - 你如何配置 JHipster-JDL 不自动创建主键?
- kubernetes - 在 Python 中向 GKE master 进行身份验证
- mp4 - 微软文件接收器 Mpeg4
- css - 尝试使用 webpack 4 从 scss 文件中获取 css 文件
- javascript - 为什么在手动重新排序和恢复 dom 项目后,淘汰模板绑定停止工作?
- excel - 如何使用 VBA 循环遍历所有其他列
- postgresql - 将数据聚合到 30 分钟间隔