2016-11-14 10 views
5

dtype='f'dtype='f4'dtype='>f4'dtype'<f4'の違いは何ですか? 構文はdocs on typesで説明されていません(但し、 'f'は 'float32'の短縮形です)。それはrecordsのページで広く使用されていますが、>/<の意味もそこには説明されていません。numpy dtypeの><記号はどういう意味ですか?

私はそれは私の問題についての説明とすることができる、それらは等価ではないと信じています

In [13]: a = np.array([1.0], dtype='f') 
    In [15]: print(a.dtype) 
    float32 

In [16]: a = np.array([1.0], dtype='<f4') 
    In [17]: print(a.dtype) 
    float32 

しかし

In [18]: a = np.array([1.0], dtype='>f4') 
    In [19]: print(a.dtype) 
    >f4 

ことが分かったいくつかの実験をした後私は外部の図書館に面しています。

答えて

4

'>'そして '<' は、データ型のエンディアン

https://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html

を参照します10
>>> dt = np.dtype('>H') # big-endian unsigned short 
>>> dt = np.dtype('<f') # little-endian single-precision float 

fは単精度浮動小数点数で、4バイト(4 x 8 = 32ビット)を使用します。

dtype='<f4' 

dtypeを、リトルエンディアンのバイトオーダーを使用して32ビットの単精度浮動小数点数にします。

endiannessの詳細は、wikiをご覧ください。 https://en.wikipedia.org/wiki/Endianness

関連する問題