NumPy の numpy.random.permutation()関数
このチュートリアルでは、Python で NumPy パッケージをアップグレードする方法を紹介します。
Python の numpy.random.permutation()
関数を使用した NumPy ランダム置換
numpy.random.permutation()
関数は、主に 2つの目的で使用されます。シーケンスのランダムに並べ替えられたコピーを取得することと、Python でランダムに並べ替えられた範囲を取得することです。permutation()
関数と shuffle()
関数の主な違いは、配列が渡されると、permutation()
関数が元の配列のシャッフルされたコピーを返すことです。対照的に、shuffle()
関数は元の配列をシャッフルします。また、整数を渡すと、permutation()
関数は指定された長さのランダムに並べ替えられた数値のシーケンスを提供しますが、同じプロセスを実行するには、numpy.arange()
関数を shuffle()
関数で使用する必要があります。次のコード例は、Python の permutation()
関数と shuffle()
関数の違いを示しています。
例 1:
import numpy as np
array = np.array([0,1,0,0,4])
shuffled = np.random.permutation(array)
np.random.shuffle(array)
print(shuffled)
print(array)
出力:
[0 0 4 1 0]
[0 4 0 1 0]
例 2:
permuted = np.random.permutation(5)
print(permuted)
sequence = np.arange(5)
np.random.shuffle(sequence)
print(sequence)
出力:
[3 1 4 0 2]
[4 3 0 1 2]
最初の例では、配列が両方の関数に渡されるときの permutation()
関数と shuffle()
関数の違いを示しました。permutation()
関数は array
のシャッフルされたコピーを返し、shuffle()
関数は元の array
をシャッフルします。
2 番目の例では、整数が渡されたときの permutation()
関数と shuffle()
関数の違いを示しました。permutation(n)
関数は、n
整数要素のシーケンスを持つシャッフルされた配列を返しますが、shuffle()
関数でこの動作を模倣するには、最初に n
整数のシーケンスを作成する必要があります。np.arange()
関数。次に、shuffle()
関数は、この新しく作成された整数要素のシーケンスをシャッフルします。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn