2017-02-17 24 views
0

私は次のコードを持っている:result.data.shapeが与えるnumpyでマスクされた2つのベクトルのドット積が、奇妙な形状の配列を返すのはなぜですか?

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

() 

私はそれを変換した値にアクセスすることができます

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

このような何かを与えますフロートに、

float(result.data) 

これはデータにアクセスする正しい方法ですか?

答えて

2

結果は0Dテンソルです。結果起因マスクの存在に、マスクされた配列である場合

通常numpyのが

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

ネイティブ型に0Dテンソルを変換しかし、情報を失うことなく、ネイティブ型に直接変換する方法はありません。したがって、結果として "奇妙な形状の" 0Dテンソルが得られます。

はい、フロートに変換してアクセスできます。

関連する問題