如何 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.array
的object
不正确
- 将元组列表作为对象传递(例如
[(x1, y1), (x2, y2)]
)
tuple
应包含所需的字段(例如 score
和 confidence
)
- 可以在 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])
我正在尝试构建一个具有两个值的结构化 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.array
的object
不正确- 将元组列表作为对象传递(例如
[(x1, y1), (x2, y2)]
) tuple
应包含所需的字段(例如score
和confidence
)- 可以在 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])