Swapping two rows of a NumPy array means *exchanging the positions of two rows in a two-dimensional array*. Swapping rows can help to rearrange the data in a way that makes it easier to analyze or visualize. There are several methods to swap two rows of a NumPy array, which are as follows:

#### 1. Using the "slicing operator":

One method to swap two rows of a NumPy array is by using the slicing operator.

- Imports the NumPy library and creates a 2D array using NumPy.
- Then swaps the first and third rows of the array by assigning the third row to the first row and vice versa using indexing and the copy() method to avoid a reference to the original row.
- Finally, it prints the modified array.

This code can efficiently swap two rows in a 2D NumPy array, but is limited to only swapping two rows and cannot handle swapping rows with different lengths.

#### 2. Using "temporary variable":

Another way is to use a temporary variable to store one of the rows while swapping.

- The code imports the NumPy library.
- It creates a 2D NumPy array named ‘arr’ with 3 rows and 3 columns.
- It swaps the first and third rows of the array by creating a temporary copy of the first row, replacing the first row with the third row, and then replacing the third row with the temporary copy.
- Finally, the code displays the modified ‘arr’ array using the print() function.

The code provides a simple way to swap rows in a 2D NumPy array but creates a temporary copy that could use more memory for larger arrays.

#### 3. Using "indexing":

This method uses indexing to swap the specified rows of the NumPy array, without creating any temporary copies of the rows.

- The code imports the NumPy library.
- It creates a 3x3 NumPy array named ‘arr’.
- It swaps the first and third rows of the array using indexing, without creating any temporary copies of the rows.
- Finally, the code displays the modified ‘arr’ array using the
`print()`

function.

The code uses efficient indexing to swap specified rows of a NumPy array, but only swaps two rows at a time and requires manually specifying the row indices to be swapped.

#### 4. Using "np.vstack()":

To swap two rows of a NumPy array using `np.vstack()`

, you can create a new array that stacks the rows in the desired order. Here:

- The code defines a 2D NumPy array named
`arr`

with 3 rows and 3 columns. - It uses
`np.vstack()`

to create a new array that stacks the second row (`arr[1]`

) on top of the first row (`arr[0]`

), and then stacks the third row (`arr[2]`

) at the bottom of the result. - The resulting array has the first and second rows swapped.
- Finally, the code assigns the result of
`np.vstack()`

back to`arr`

to update the original array with the swapped rows.

**Note**: Here, we assign the result of `np.vstack()`

back to `arr`

to update the original array with the swapped rows.