# shuffle ordering of some rows in numpy array

• Last Update :
• Techknowledgy :

As an example:

```import numpy as np

def shuffle_rows(arr, rows):
np.random.shuffle(arr[rows[0]: rows[1] + 1])

a = np.arange(20).reshape(4, 5)

print(a)
# array([
[0, 1, 2, 3, 4],
#[5, 6, 7, 8, 9],
#[10, 11, 12, 13, 14],
#[15, 16, 17, 18, 19]
])

shuffle_rows(a, [1, 3])

print(a)
#array([
[0, 1, 2, 3, 4],
#[10, 11, 12, 13, 14],
#[15, 16, 17, 18, 19],
#[5, 6, 7, 8, 9]
])

shuffle_rows(a, [1, 3])

print(a)
#array([
[0, 1, 2, 3, 4],
#[10, 11, 12, 13, 14],
#[5, 6, 7, 8, 9],
#[15, 16, 17, 18, 19]
])```

Suggestion : 2

This function only shuffles the array along the first axis of a multi-dimensional array. The order of sub-arrays is changed but their contents remains the same.,Multi-dimensional arrays are only shuffled along the first axis:,New code should use the shuffle method of a default_rng() instance instead; please see the Quick Start.,The array, list or mutable sequence to be shuffled.

```>>> arr = np.arange(10) >>>
np.random.shuffle(arr) >>>
arr[1 7 5 2 9 4 3 6 0 8] # random```
```>>> arr = np.arange(9).reshape((3, 3)) >>>
np.random.shuffle(arr) >>>
arr
array([
[3, 4, 5], # random[6, 7, 8],
[0, 1, 2]
])```

Suggestion : 3

I want to shuffle the ordering of only some rows in a numpy array. These rows will always be continuous (e.g. shuffling rows 23-80). The number of elements in each row can vary from 1 (such that the array is actually 1D) to 100.,You can use np.random.shuffle. This shuffles the rows themselves, not the elements within the rows., 1 week ago Numpy shuffle multidimensional array by row only, keep column order unchanged. You can use numpy.random.shuffle (). This function only shuffles the array along the first axis of a multi-dimensional array. The order of sub-arrays is changed but their contents remains the same. , 2 days ago Jan 08, 2018  · numpy.random.shuffle. ¶. Modify a sequence in-place by shuffling its contents. This function only shuffles the array along the first axis of a multi-dimensional array. The order of sub-arrays is changed but their contents remains the same. The array or list to be shuffled.

```import numpy as np >>> a = np.arange(20).reshape(4, 5) >>> a array([
[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]
]) >>> shuffle_rows(a, [1, 3]) # including rows 1, 2 and 3 in the shuffling array([
[0, 1, 2, 3, 4],
[15, 16, 17, 18, 19],
[5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]
])```

```import numpy as np def shuffle_rows(arr, rows): np.random.shuffle(arr[rows[0]: rows[1] + 1]) a = np.arange(20).reshape(4, 5) print(a) # array([
[0, 1, 2, 3, 4], #[5, 6, 7, 8, 9], #[10, 11, 12, 13, 14], #[15, 16, 17, 18, 19]
]) shuffle_rows(a, [1, 3]) print(a) #array([
[0, 1, 2, 3, 4], #[10, 11, 12, 13, 14], #[15, 16, 17, 18, 19], #[5, 6, 7, 8, 9]
]) shuffle_rows(a, [1, 3]) print(a) #array([
[0, 1, 2, 3, 4], #[10, 11, 12, 13, 14], #[5, 6, 7, 8, 9], #[15, 16, 17, 18, 19]
])```
```import numpy as np >>> a = np.arange(20).reshape(4, 5) >>> a array([
[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]
]) >>> shuffle_rows(a, [1, 3]) # including rows 1, 2 and 3 in the shuffling array([
[0, 1, 2, 3, 4],
[15, 16, 17, 18, 19],
[5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]
])```
```import numpy as np def shuffle_rows(arr, rows): np.random.shuffle(arr[rows[0]: rows[1] + 1]) a = np.arange(20).reshape(4, 5) print(a) # array([
[0, 1, 2, 3, 4], #[5, 6, 7, 8, 9], #[10, 11, 12, 13, 14], #[15, 16, 17, 18, 19]
]) shuffle_rows(a, [1, 3]) print(a) #array([
[0, 1, 2, 3, 4], #[10, 11, 12, 13, 14], #[15, 16, 17, 18, 19], #[5, 6, 7, 8, 9]
]) shuffle_rows(a, [1, 3]) print(a) #array([
[0, 1, 2, 3, 4], #[10, 11, 12, 13, 14], #[5, 6, 7, 8, 9], #[15, 16, 17, 18, 19]
])```

Suggestion : 4

Last Updated : 05 Sep, 2021,GATE CS 2021 Syllabus

Output

```Original array: [1 2 3 4 5 6]
Shuffled array: [4 1 5 3 2 6]```

Output:

```Original array: [1 2 3 4 5 6]
Shuffled array: [4 5 2 6 1 3]```

`[2, 3, 6, 1, 5, 4]`

`[2, 3, 6, 1, 5, 4]`