为什么numpy中两个屏蔽向量的点积返回一个形状奇怪的数组?

为什么numpy中两个屏蔽向量的点积返回一个形状奇怪的数组?,numpy,masked-array,Numpy,Masked Array,我有以下代码: result = np.ma.dot( array1, masked_array2 ) 这就产生了这样的结果: masked_array(data = 24.681441709536468, mask = False, fill_value = 1e+20) 结果.data.shape给出: () 我可以通过将其转换为浮点数来访问该值,如 float(result.data) 这是访问数据的正确方法吗?结果是0D张量 通常,numpy会

我有以下代码:

result = np.ma.dot( array1, masked_array2 )
这就产生了这样的结果:

masked_array(data = 24.681441709536468,
         mask = False,
         fill_value = 1e+20)
结果.data.shape给出:

()
我可以通过将其转换为浮点数来访问该值,如

float(result.data)

这是访问数据的正确方法吗?

结果是0D张量

通常,numpy会将0D张量转换为本机类型

type(np.dot([1,2], [3,4])) # gives 'int'
但是,当结果是掩码数组时,由于掩码的存在,无法直接将其转换为本机类型而不丢失信息。因此,得到一个“形状奇怪”的0D张量


是的,您可以通过将其转换为float来访问它。

结果是0D张量

通常,numpy会将0D张量转换为本机类型

type(np.dot([1,2], [3,4])) # gives 'int'
但是,当结果是掩码数组时,由于掩码的存在,无法直接将其转换为本机类型而不丢失信息。因此,得到一个“形状奇怪”的0D张量

是的,您可以通过将其转换为float来访问它