# Swapping Two Rows of an Array

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`) on top of the first row (`arr`), and then stacks the third row (`arr`) 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.