NumPy-配列属性
この章では、NumPyのさまざまな配列属性について説明します。
ndarray.shape
この配列属性は、配列の次元で構成されるタプルを返します。配列のサイズを変更するためにも使用できます。
例1
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print a.shape
出力は次のとおりです-
(2, 3)
例2
# this resizes the ndarray
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
print a
出力は次のとおりです-
[[1, 2]
[3, 4]
[5, 6]]
例3
NumPyは、配列のサイズを変更するための形状変更機能も提供します。
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
print b
出力は次のとおりです-
[[1, 2]
[3, 4]
[5, 6]]
ndarray.ndim
この配列属性は、配列の次元数を返します。
例1
# an array of evenly spaced numbers
import numpy as np
a = np.arange(24)
print a
出力は次のとおりです-
[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
例2
# this is one dimensional array
import numpy as np
a = np.arange(24)
a.ndim
# now reshape it
b = a.reshape(2,4,3)
print b
# b is having three dimensions
出力は次のとおりです-
[[[ 0, 1, 2]
[ 3, 4, 5]
[ 6, 7, 8]
[ 9, 10, 11]]
[[12, 13, 14]
[15, 16, 17]
[18, 19, 20]
[21, 22, 23]]]
numpy.itemsize
この配列属性は、配列の各要素の長さをバイト単位で返します。
例1
# dtype of array is int8 (1 byte)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.int8)
print x.itemsize
出力は次のとおりです-
1
例2
# dtype of array is now float32 (4 bytes)
import numpy as np
x = np.array([1,2,3,4,5], dtype = np.float32)
print x.itemsize
出力は次のとおりです-
4
numpy.flags
ndarrayオブジェクトには次の属性があります。その現在の値は、この関数によって返されます。
シニア番号 | 属性と説明 |
---|---|
1 | C_CONTIGUOUS (C) データは、単一のCスタイルの連続したセグメントにあります |
2 | F_CONTIGUOUS (F) データは、単一のFortranスタイルの連続したセグメントにあります |
3 | OWNDATA (O) 配列は、使用するメモリを所有しているか、別のオブジェクトからメモリを借用しています |
4 | WRITEABLE (W) データ領域への書き込みが可能です。これをFalseに設定すると、データがロックされ、読み取り専用になります |
5 | ALIGNED (A) データとすべての要素は、ハードウェアに合わせて適切に配置されます |
6 | UPDATEIFCOPY (U) この配列は、他の配列のコピーです。この配列の割り当てが解除されると、基本配列はこの配列の内容で更新されます |
例
次の例は、フラグの現在の値を示しています。
import numpy as np
x = np.array([1,2,3,4,5])
print x.flags
出力は次のとおりです-
C_CONTIGUOUS : True
F_CONTIGUOUS : True
OWNDATA : True
WRITEABLE : True
ALIGNED : True
UPDATEIFCOPY : False