ナンプティndarray

Numpyの配列は、正の整数のTupleでインデックス付けされた、すべて同じ型の要素(通常は数値)のテーブルです。 Numpyでは、配列の次元数は配列のランクと呼ばれます。各次元に沿って配列のサイズを与える整数のTupleは、配列の形状として知られています。 Numpyの配列クラスはndarrayと呼ばれます。 Numpy配列内の要素は[]を使用してアクセスされ、ネストされたPythonListを使用して初期化できます。 例:

🐶Pythonコードの例を示すで

# Python program to demonstrate
# basic array characteristics
import numpy as np

# Creating array object
arr = np.array( [[ 1, 2, 3],
                 [ 4, 2, 5]] )

# Printing type of arr object
print("Array is of type: ", type(arr))

# Printing array dimensions (axes)
print("No. of dimensions: ", arr.ndim)

# Printing shape of array
print("Shape of array: ", arr.shape)

# Printing size (total number of elements) of array
print("Size of array: ", arr.size)

# Printing type of elements in array
print("Array stores elements of type: ", arr.dtype)

🐶動画で動作確認してみよか?

動画で確認

NumPyで配列を作成するにはさまざまな方法があります。 注:配列のタイプは、配列の作成中に明示的に定義することができます。

🐶Pythonコードの例を示すで

# Python program to demonstrate
# array creation techniques
import numpy as np

# Creating array from list with type float
a = np.array([[1, 2, 4], [5, 8, 7]], dtype = 'float')
print ("Array created using passed list:\n", a)

# Creating array from tuple
b = np.array((1 , 3, 2))
print ("\nArray created using passed tuple:\n", b)

# Creating a 3X4 array with all zeros
c = np.zeros((3, 4))
print ("\nAn array initialized with all zeros:\n", c)

# Create a constant value array of complex type
d = np.full((3, 3), 6, dtype = 'complex')
print ("\nAn array initialized with all 6s."
            "Array type is complex:\n", d)

🐶動画で動作確認してみよか?

動画で確認

🐶Pythonコードの例を示すで

# Python program to demonstrate
# indexing in numpy
import numpy as np

# An exemplar array
arr = np.array([[-1, 2, 0, 4],
                [4, -0.5, 6, 0],
                [2.6, 0, 7, 8],
                [3, -7, 4, 2.0]])

# Slicing array
temp = arr[:2, ::2]
print ("Array with first 2 rows and alternate"
                    "columns(0 and 2):\n", temp)

# Integer array indexing example
temp = arr[[0, 1, 2, 3], [3, 2, 1, 0]]
print ("\nElements at indices (0, 3), (1, 2), (2, 1),"
                                    "(3, 0):\n", temp)

# boolean array indexing example
cond = arr > 0 # cond is a boolean array
temp = arr[cond]
print ("\nElements greater than 0:\n", temp)

🐶動画で動作確認してみよか?

動画で確認

多数の組み込み算術関数がNumPyに用意されています。

🐶Pythonコードの例を示すで

# Python program to demonstrate
# basic operations on single array
import numpy as np

a = np.array([1, 2, 5, 3])

# add 1 to every element
print ("Adding 1 to every element:", a+1)

# subtract 3 from each element
print ("Subtracting 3 from each element:", a-3)

# multiply each element by 10
print ("Multiplying each element by 10:", a*10)

# square each element
print ("Squaring each element:", a**2)

# modify existing array
a *= 2
print ("Doubled each element of original array:", a)

# transpose of array
a = np.array([[1, 2, 3], [3, 4, 5], [9, 6, 0]])

print ("\nOriginal array:\n", a)
print ("Transpose of array:\n", a.T)

🐶動画で動作確認してみよか?

動画で確認

🐶Pythonコードの例を示すで

# Python program to demonstrate
# unary operators in numpy
import numpy as np

arr = np.array([[1, 5, 6],
                [4, 7, 2],
                [3, 1, 9]])

# maximum element of array
print ("Largest element is:", arr.max())
print ("Row-wise maximum elements:",
                    arr.max(axis = 1))

# minimum element of array
print ("Column-wise minimum elements:",
                        arr.min(axis = 0))

# sum of array elements
print ("Sum of all array elements:",
                            arr.sum())

# cumulative sum along each row
print ("Cumulative sum along each row:\n",
                        arr.cumsum(axis = 1))

🐶動画で動作確認してみよか?

動画で確認

🐶Pythonコードの例を示すで

# Python program to demonstrate
# binary operators in Numpy
import numpy as np

a = np.array([[1, 2],
            [3, 4]])
b = np.array([[4, 3],
            [2, 1]])

# add arrays
print ("Array sum:\n", a + b)

# multiply arrays (elementwise multiplication)
print ("Array multiplication:\n", a*b)

# matrix multiplication
print ("Matrix multiplication:\n", a.dot(b))

🐶動画で動作確認してみよか?

動画で確認

注:オーバーロード演算子を使用して上記で行った操作はすべて、np.add、np.subtract、np.multiply、np.divide、np.sumなどのufuncを使用して実行できます。

🐶Pythonコードの例を示すで

# Python program to demonstrate
# universal functions in numpy
import numpy as np

# create an array of sine values
a = np.array([0, np.pi/2, np.pi])
print ("Sine values of array elements:", np.sin(a))

# exponential values
a = np.array([0, 1, 2, 3])
print ("Exponent of array elements:", np.exp(a))

# square root of array values
print ("Square root of array elements:", np.sqrt(a))

🐶動画で動作確認してみよか?

動画で確認

ndarrayの値は、メモリバイトの連続ブロックと考えることができるバッファに格納されます。したがって、これらのバイトがどのように解釈されるかはdtypeオブジェクトによって与えられます。 すべてのNumpy配列は、正の整数のTupleでインデックス付けされた、すべて同じ型の要素(通常は数値)のテーブルです。すべてのndarrayには、関連付けられたデータ型(dtype)オブジェクトがあります。 このデータ型オブジェクト(dtype)は、配列のレイアウトに関する情報を提供します。 ndarrayの値はdtypeオブジェクトによって解釈されることができるメモリバイトの連続したブロックとして考えることができるバッファに格納されます。 Numpyは、配列を構築するために使用できる数値データ型の大規模なセットを提供します。 配列作成時に、Numpyはデータ型を推測しようとしますが、配列を構成する関数は通常、データ型を明示的に指定するためのオプションの引数も含みます。

🐶Pythonコードの例を示すで

# Python Program to create a data type object
import numpy as np

# np.int16 is converted into a data type object.
print(np.dtype(np.int16))

🐶動画で動作確認してみよか?

動画で確認

🐶Pythonコードの例を示すで

# Python Program to create a data type object
# containing a 32 bit big-endian integer
import numpy as np

# i4 represents integer of size 4 byte
# > represents big-endian byte ordering and
# < represents little-endian encoding.
# dt is a dtype object
dt = np.dtype('>i4')

print("Byte order is:",dt.byteorder)

print("Size is:",dt.itemsize)

print("Data type is:",dt.name)

🐶動画で動作確認してみよか?

動画で確認

🐶 🐍

Last Updated: 5/19/2019, 1:46:25 AM