πŸ”€ Как ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ массив numpy: простой способ ΠΈ совСты

Для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ массива Numpy ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ shuffle() ΠΈΠ· модуля numpy.random.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

import numpy as np

array = np.array([1, 2, 3, 4, 5])
np.random.shuffle(array)
print(array)

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ элСмСнты Π²Π½ΡƒΡ‚Ρ€ΠΈ массива Π² случайном порядкС.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ массив Π² NumPy?

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Π² NumPy, ΠΈΠ½ΠΎΠ³Π΄Π° трСбуСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ (случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок элСмСнтов) массив. НапримСр, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ случайного порядка Π΄Π°Π½Π½Ρ‹Ρ…. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ массивов Π² NumPy.

ΠœΠ΅Ρ‚ΠΎΠ΄ shuffle()

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ массива - использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° shuffle(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ измСняСт исходный массив, случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ Π΅Π³ΠΎ элСмСнты. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


import numpy as np

# БоздаСм массив
arr = np.array([1, 2, 3, 4, 5])

# ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅ΠΌ массив
np.random.shuffle(arr)

print(arr)
    

Π’Ρ‹Π²ΠΎΠ΄:

[4 2 5 1 3]

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΌΠ΅Ρ‚ΠΎΠ΄ shuffle() ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ элСмСнты массива Π² случайном порядкС.

Ѐункция permutation()

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ массива - использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ permutation(). Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ элСмСнты исходного массива пСрСставлСны Π² случайном порядкС. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


import numpy as np

# БоздаСм массив
arr = np.array([1, 2, 3, 4, 5])

# ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅ΠΌ массив
shuffled_arr = np.random.permutation(arr)

print(shuffled_arr)
    

Π’Ρ‹Π²ΠΎΠ΄:

[2 1 3 5 4]

Ѐункция permutation() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив, Π½Π΅ измСняя исходный массив.

ΠœΠ΅Ρ‚ΠΎΠ΄ choice()

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ массива - использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° choice(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ массив, случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ выбирая элСмСнты ΠΈΠ· исходного массива. ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΡ элСмСнтов Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


import numpy as np

# БоздаСм массив
arr = np.array([1, 2, 3, 4, 5])

# ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅ΠΌ массив
shuffled_arr = np.random.choice(arr, size=len(arr), replace=False)

print(shuffled_arr)
    

Π’Ρ‹Π²ΠΎΠ΄:

[3 4 2 5 1]

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ replace=False, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ элСмСнты Π² Π½ΠΎΠ²ΠΎΠΌ массивС. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ повторСния, установитС replace=True.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ‚Ρ€ΠΈ способа ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ массивов Π² NumPy. ΠœΠ΅Ρ‚ΠΎΠ΄ shuffle() измСняСт исходный массив, функция permutation() создаСт Π½ΠΎΠ²Ρ‹ΠΉ массив Π±Π΅Π· измСнСния исходного, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ choice() Ρ‚Π°ΠΊΠΆΠ΅ создаСт Π½ΠΎΠ²Ρ‹ΠΉ массив, Π½ΠΎ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ повторСния элСмСнтов. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ подходящий Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Randomly Shuffle Numpy Array | Python Tutorial

NumPy Tutorial 13: Shuffle NumPy Array Rows

How to SHUFFLE AN ARRAY in 4 minutes! πŸ”€

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”€ Как ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ массив numpy: простой способ ΠΈ совСты