如何 return 每个 field/column 只有一个值的结构化数组?

How to return structured array with only one value per field/column?

我正在尝试构建一个具有两个值的结构化 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')])

我不明白为什么它会翻倍所有内容。理想情况下,这个 return 类似于 array([(0.9, 0.95)], dtype=[('score', '<f8'), ('confidence', '<f8')])。此外,可能没有计算分数和置信度,在这种情况下,我也应该能够 return 具有相同形状的结构化数组,只是它是空的。您对如何解决我正在做的事情有什么想法,以便它解决我讨论的空和非空案例吗?谢谢!

  • 传给np.arrayobject不正确
    • 元组列表作为对象传递(例如[(x1, y1), (x2, y2)]
    • tuple 应包含所需的字段(例如 scoreconfidence
    • 可以在 Structured arrays
    • 找到更多详细信息
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])