0

我有以下代码:

result = np.ma.dot( array1, masked_array2 )

这给出了这样的东西:

masked_array(data = 24.681441709536468,
         mask = False,
         fill_value = 1e+20)

result.data.shape 给出:

()

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

float(result.data)

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

4

1 回答 1

2

结果是一个 0D 张量。

通常 numpy 将 0D 张量转换为原生类型

type(np.dot([1,2], [3,4])) # gives 'int'

但是,当结果是掩码数组时,由于掩码的存在,没有办法直接将其转换为原生类型而不会丢失信息。因此,您会得到一个“形状奇特”的 0D 张量。

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

于 2017-02-17T11:33:42.783 回答