NumpyのN次元配列-ndarray
1ndarrayプロパティ
配列属性は、配列自体の固有の情報を反映します。
属性名 | 属性の説明 |
---|---|
ndarray.shape | 配列次元のタプル [8行5列の配列の場合、(8、5)を返します] |
ndarray.ndim | 配列の次元 [2次元配列の場合、2を返します] |
ndarray.size | 配列内の要素の数 [8行5列の場合、40を返します] |
ndarray.itemsize | 配列要素の長さ(バイト) [要素が(整数)数の場合、8を返します] |
ndarray.dtype | 配列要素の型 [整数型の場合、戻り値:dtype( 'int64')、一部のコンピューターは32である可能性があります] |
2ndarrayの形状
まず、いくつかの配列を作成します。
# 创建不同形状的数组
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.array([1,2,3,4])
c = np.array([[[1,2,3],[4,5,6]],[[1,2,3],[4,5,6]]])
形状を個別に印刷します。
配列の形状を理解する方法は?
2次元配列:
3次元配列:
[Excelの複数のシートに似ています]
3種類のndarray
>>> type(score.dtype)
<type 'numpy.dtype'>
dtypeはnumpy.dtypeのタイプです。配列で使用できるタイプを見てみましょう。
名前 | 説明 | 速記 |
---|---|---|
np.bool | 1バイトに格納されたブール型(TrueまたはFalse) | 'b' |
例:int8 | 1バイトサイズ、-128〜127 | '私' |
例:int16 | 整数、-32768〜32767 | 「i2」 |
例:int32 | 整数、-2 ^ 31から2 ^ 32 -1 | 「i4」 |
例:int64 | 整数、-2 ^ 63から2 ^ 63-1 | 「i8」 |
例:uint8 | 符号なし整数、0〜255 | 「u」 |
例:uint16 | 符号なし整数、0〜65535 | 「u2」 |
例:uint32 | 符号なし整数、0〜2 ^ 32-1 | 「u4」 |
例:uint64 | 符号なし整数、0〜2 ^ 64-1 | 「u8」 |
例:float16 | 半精度浮動小数点数:16ビット、符号用1ビット、指数用5ビット、精度用10ビット | 'f2' |
例:float32 | 単精度浮動小数点数:32ビット、符号用1ビット、指数用8ビット、精度用23ビット | 「f4」 |
例:float64 | 倍精度浮動小数点数:64ビット、符号用1ビット、指数用11ビット、精度用52ビット | 「f8」 |
np.complex64 | 2つの32ビット浮動小数点数を使用してそれぞれ実数部と虚数部を表す複素数 | 「c8」 |
np.complex128 | 2つの64ビット浮動小数点数を使用してそれぞれ実数部と虚数部を表す複素数 | 「c16」 |
np.object_ | Pythonオブジェクト | 「THE」 |
np.string_ | ストリング | 「S」 |
np.unicode_ | Unicodeタイプ | 「U」 |
配列を作成するときにタイプを指定します
>>> a = np.array([[1, 2, 3],[4, 5, 6]], dtype=np.float32)
>>> a.dtype
dtype('float32')
>>> arr = np.array(['python', 'tensorflow', 'scikit-learn', 'numpy'], dtype = np.string_)
>>> arr
array([b'python', b'tensorflow', b'scikit-learn', b'numpy'], dtype='|S12')
- 注:指定しない場合、整数のデフォルトはint64、小数のデフォルトはfloat64です。
4まとめ
配列の基本的なプロパティ
属性名 | 属性の説明 |
---|---|
ndarray.shape | 配列次元のタプル |
ndarray.ndim | 配列の次元 |
ndarray.size | 配列内の要素の数 |
ndarray.itemsize | 配列要素の長さ(バイト) |
ndarray.dtype | 配列要素のタイプ |