Numpy★配列の値の操作

2021年10月13日

Numpyの配列には最大値や要素の個数など様々な値の確認方法があります。その辺をまとめてみます。

配列の最大値

max

与えられた配列の値から最大値を返す。

書き方

max( x, axis=none )

x比較対象の配列
axis(オプション)比較を行う軸方向
【例】
import numpy as np
a = np.random.rand(3,2)
print(a)
 
print( np.max(a) )
print( np.max( a, axis=0 ) )
【実行結果】
[[0.02381193 0.20724032]
 [0.19298887 0.48417259]
 [0.00723679 0.55978211]]
0.5597821082039866
[0.19298887 0.55978211]

maximum

要素の値を比較して大きい方を返す。

書き方

maximum( 比較したい数字or配列, 比較したい数字or配列 )

【例】
import numpy as np
np.maximum( [1,5,2], 3 )
【実行結果】
array([3, 5, 3])

argmax

配列の中の最大値のインデックスを返す。

書き方

argmax( 対象の配列 )

【例】
import numpy as np

x = np.array([ 10, 52, 37 ])
np.argmax(x)
【実行結果】
1

配列のカウント

bincount

配列の中に登場する数字の使用頻度をカウントします。

書き方

bincount( x, weights=none, minlength=0 )

x対象の配列
weights (オプション、配列) 重み付け
※xと配列の大きさを同じにする
minlength (オプション) 返り値の大きさの最小値
【例】
import numpy as np

x = np.array([3,1,1,2,2,2])
np.bincount(x)
【実行結果】
array([0, 2, 3, 1], dtype=int64)  # 0が0個、1が2個、2が3個、3が1個
【例】weightsを指定した場合
import numpy as np

x = np.array([3,1,1,2,2,2])
w = np.array([0.1, 0.3, 0.4, 0.1, 0.5, 0.2])
np.bincount(x, weights=w)
【実行結果】
array([0. , 0.7, 0.8, 0.1])
# 0の重み付けは無し、1の重み付けは0.3と0.4で0.7、2の重み付けは0.1と0.5と0.2で0.8、3の重み付けは0.1で0.1になる
【例】minlengthを指定した場合
import numpy as np

x = np.array([3,1,1,2,2,2])
np.bincount(x, minlength=5)
【実行結果】
array([0, 2, 3, 1, 0], dtype=int64)
# 0が0個、1が2個、2が3個、3が1個、と四つしか値が表示されないはずだが、minlengthで5を指定している為最後の0を含めた五つが表示されている

配列の大きさ確認

size 配列の要素の個数

配列の要素の個数をカウントして表示します。

書き方

ndarray.size

【例】
import numpy as np
x = np.array([[2,6],[5,2],[9,2]])
 
x.size
【実行結果】
6

ndim 配列の次元数確認

配列の中の次元数を表示。

書き方

ndarray.ndim

【例】
import numpy as np
 
x1 = np.array([[1,2,3],[4,5,6]])
print(x1.ndim)
 
x2 = np.array([
    [[1,2,3],[4,5,6]],
    [[7,8,9],[10,11,12]]
])
print(x2.ndim)
【実行結果】
2
3

shape 配列の形状を表示

配列の形状を取得して表示。

書き方

ndarray.shape

【例】
import numpy as np
 
a = np.array([2,6])
b = np.array([[2,6],[5,2]])
c = np.array([[2,6],[5,2],[9,2]])
 
print(a.shape)
print(b.shape)
print(c.shape)
【実行結果】
(2,)
(2, 2)
(3, 2)

配列の値の変換

sign 値を1、-1に変換

引数の値に基づいて、-1、1,0を返す。

書き方

sign( x )

xは配列。xの値に基づいて返り値が変わる。

  • x>0 返り値1
  • x<0 返り値-1
  • x=0 返り値0

sign 詳細

【例】
import numpy as np
 
a = np.array([-5,3,6,0,-2])
np.sign(a)
【実行結果】
array([-1,  1,  1,  0, -1])

値の型

dtype 型の種類

ndarray(配列)の型の種類を表示します。

書き方
【例】
import numpy as np
 
x = np.array([1, -8, 7, -6, 3])
x.dtype
【実行結果】
dtype('int32')

dtypeデータ型一覧

dtypeには下記の一覧のような多くの種類があります。

np.int8符号あり 8bit 整数
np.int16符号あり 16bit 整数
np.int32符号あり 32bit 整数
np.int64符号あり 64bit 整数
np.uint8符号なし 8bit 整数
np.uint16符号なし 16bit 整数
np.uint32符号なし 32bit 整数
np.uint64符号なし 64bit 整数
np.float16半精度 浮動小数点数
np.float32単精度 浮動小数点数
np.float64倍精度 浮動小数点数
np.float128四倍精度 浮動小数点数
np.complex64複素数 (実数・虚数が float32)
np.complex128複素数 (実数・虚数が float64)
np.complex256複素数 (実数・虚数が float128)
np.boolブール型・真偽値
np.unicodeUnicode文字列
np.objectPythonオブジェクト(へのポインタ)

NumPy

Posted by Bright_Noah