为什么 numpy return 中两个屏蔽向量的点积是一个奇形怪状的数组?
Why does a dot product of two masked vectors in numpy return an oddly shaped array?
我有以下代码:
result = np.ma.dot( array1, masked_array2 )
这给出了这样的东西:
masked_array(data = 24.681441709536468,
mask = False,
fill_value = 1e+20)
result.data.shape 给出:
()
我可以通过将其转换为浮点数来访问该值,例如
float(result.data)
这是访问数据的正确方法吗?
结果是0维张量。
通常 numpy 将 0D 张量转换为原生类型
type(np.dot([1,2], [3,4])) # gives 'int'
但是,当结果是masked array时,由于mask的存在,没有办法在不丢失信息的情况下直接转换为native类型。因此你得到一个 "oddly shaped" 0D 张量作为结果。
是的,您可以通过将其转换为浮点数来访问它。
我有以下代码:
result = np.ma.dot( array1, masked_array2 )
这给出了这样的东西:
masked_array(data = 24.681441709536468,
mask = False,
fill_value = 1e+20)
result.data.shape 给出:
()
我可以通过将其转换为浮点数来访问该值,例如
float(result.data)
这是访问数据的正确方法吗?
结果是0维张量。
通常 numpy 将 0D 张量转换为原生类型
type(np.dot([1,2], [3,4])) # gives 'int'
但是,当结果是masked array时,由于mask的存在,没有办法在不丢失信息的情况下直接转换为native类型。因此你得到一个 "oddly shaped" 0D 张量作为结果。
是的,您可以通过将其转换为浮点数来访问它。