Numpyの一般的な関数のまとめ
3210 ワード
1、np.argmax()、np.max()、np.argmin()、np.min()の使い方:
2、np.where(condition[, x, y])
3、np.randomにおけるshuffleとpermutationの違い
4、np.ascontiguousarray():受信した配列と同様のメモリ内の連続配列を返します.
5、np.Empty():初期化されていない配列を返し、その値はランダムです.
6、np.newaxis:配列に軸を追加する
7、np.tile():マトリクスを横、縦にコピーする
8、np.sort()とnp.argsort():最初は小さいものから大きいものへのソート値を返し、2番目は小さいものから大きいものへのインデックスを返します.
9、np.Cumsum():現在の列の前と現在の列に追加された配列を返します.
1、np.argmax()、np.max()、np.argmin()、np.min()の使い方:
argmaxは最大数のインデックスを返す.argmaxにはパラメータaxisがあり、デフォルトは0です.2 Dの場合は次のようになります.
argmax()は要素のインデックスを返し、max()は要素値を返し、maxの使い方はargmaxと似ており、axisのパラメータもあります.同じ理屈でargmin()とmin()も同じ使い方です.
2、np.where(condition[, x, y])
1)ここでx,yはオプションパラメータ,conditionは条件,この3つの入力パラメータはarray_likeの形式;また、3つの次元は同じ2)conditonのある位置がtrueの場合、xの対応する位置の要素を出力し、そうでなければyの対応する位置の要素を選択する.3)パラメータconditionのみの場合、関数はtrueの要素の座標位置情報を返す.
3、np.randomにおけるshuffleとpermutationの違い
関数np.shuffle()とnp.permutation()は、元の配列を再洗浄する(すなわち、元の要素の順序をランダムに乱す)ことであり、違いは:
shuffleは直接元の配列で操作し,元の配列の順序を変更し,戻り値がない.permutationは元の配列で直接操作するのではなく,新しい順序を乱す配列を返し,元の配列を変更しない.
4、np.ascontiguousarray():受信した配列と同様のメモリ内の連続配列を返します.
5、np.Empty():初期化されていない配列を返し、その値はランダムです.
6、np.newaxis:配列に軸を追加する
7、np.tile():マトリクスを横、縦にコピーする
8、np.sort()とnp.argsort():最初は小さいものから大きいものへのソート値を返し、2番目は小さいものから大きいものへのインデックスを返します.
9、np.Cumsum():現在の列の前と現在の列に追加された配列を返します.
2、np.where(condition[, x, y])
3、np.randomにおけるshuffleとpermutationの違い
4、np.ascontiguousarray():受信した配列と同様のメモリ内の連続配列を返します.
5、np.Empty():初期化されていない配列を返し、その値はランダムです.
6、np.newaxis:配列に軸を追加する
7、np.tile():マトリクスを横、縦にコピーする
8、np.sort()とnp.argsort():最初は小さいものから大きいものへのソート値を返し、2番目は小さいものから大きいものへのインデックスを返します.
9、np.Cumsum():現在の列の前と現在の列に追加された配列を返します.
1、np.argmax()、np.max()、np.argmin()、np.min()の使い方:
argmaxは最大数のインデックスを返す.argmaxにはパラメータaxisがあり、デフォルトは0です.2 Dの場合は次のようになります.
a = np.array([[1, 5, 5, 2],
[9, 6, 2, 8],
[3, 7, 9, 1]])
print(np.argmax(a, axis=0))
[1,2,2,1] #
a = np.array([[1, 5, 5, 2],
[9, 6, 2, 8],
[3, 7, 9, 1]])
print(np.argmax(a, axis=1))
[1,0,2] #
argmax()は要素のインデックスを返し、max()は要素値を返し、maxの使い方はargmaxと似ており、axisのパラメータもあります.同じ理屈でargmin()とmin()も同じ使い方です.
2、np.where(condition[, x, y])
1)ここでx,yはオプションパラメータ,conditionは条件,この3つの入力パラメータはarray_likeの形式;また、3つの次元は同じ2)conditonのある位置がtrueの場合、xの対応する位置の要素を出力し、そうでなければyの対応する位置の要素を選択する.3)パラメータconditionのみの場合、関数はtrueの要素の座標位置情報を返す.
x = np.arange(9.).reshape(3, 3)
[[0. 1. 2.]
[3. 4. 5.]
[6. 7. 8.]]
print (np.where( x > 5 ))
(array([2, 2, 2]), array([0, 1, 2]))
:
x[2, 0], x[2, 1], x[2, 2]
3、np.randomにおけるshuffleとpermutationの違い
関数np.shuffle()とnp.permutation()は、元の配列を再洗浄する(すなわち、元の要素の順序をランダムに乱す)ことであり、違いは:
shuffleは直接元の配列で操作し,元の配列の順序を変更し,戻り値がない.permutationは元の配列で直接操作するのではなく,新しい順序を乱す配列を返し,元の配列を変更しない.
4、np.ascontiguousarray():受信した配列と同様のメモリ内の連続配列を返します.
x = np.arange(6).reshape(2,3)
print (np.ascontiguousarray(x, dtype=np.float32))
print (x.flags['C_CONTIGUOUS'])
:
[[0. 1. 2.]
[3. 4. 5.]]
True
5、np.Empty():初期化されていない配列を返し、その値はランダムです.
print (np.empty([2, 2]))
:
[[ 0.00000000e+000 -8.77796459e-313]
[ 1.40447433e-311 6.17582057e-322]]
6、np.newaxis:配列に軸を追加する
x = np.arange(3)
print (x)
y=x[:, np.newaxis]
print (y)
:
array([0, 1, 2])
array([[0], [1], [2]])
7、np.tile():マトリクスを横、縦にコピーする
a=np.array([[1,2], [3, 4]])
print (a)
[[1 2]
[3 4]]
print (np.tile(a, (1, 4))) # 4
[[1 2 1 2 1 2 1 2]
[3 4 3 4 3 4 3 4]]
print (np.tile(a, (3, 1))) # 3
[[1 2]
[3 4]
[1 2]
[3 4]
[1 2]
[3 4]]
print (np.tile(a, (3, 4))) # 4 , 3
[[1 2 1 2 1 2 1 2]
[3 4 3 4 3 4 3 4]
[1 2 1 2 1 2 1 2]
[3 4 3 4 3 4 3 4]
[1 2 1 2 1 2 1 2]
[3 4 3 4 3 4 3 4]]
8、np.sort()とnp.argsort():最初は小さいものから大きいものへのソート値を返し、2番目は小さいものから大きいものへのインデックスを返します.
a=np.array([1,3,2,4])
print (np.sort(a)) #
[1 2 3 4]
print (np.argsort(a)) #
[0 2 1 3]
print (np.argsort(-a)) #
[3 1 2 0]
9、np.Cumsum():現在の列の前と現在の列に追加された配列を返します.
a=[1,2,3,4,5,6,7]
print (np.cumsum(a))
[ 1 3 6 10 15 21 28]
c=[[1,2,3],[4,5,6],[7,8,9]]
print (np.cumsum(c,axis=0)) # 0( , )
[[ 1 2 3]
[ 5 7 9]
[12 15 18]]
print (np.cumsum(c,axis=1)) # 1( , )
[[ 1 3 6]
[ 4 9 15]
[ 7 15 24]]