# What Is a Two Dimensional Data Structure in Python Numpy?

//

Angela Bailey

In Python, the NumPy library provides a powerful way to work with multi-dimensional arrays. Two-dimensional arrays, also known as matrices, are a fundamental data structure in NumPy. They consist of rows and columns, forming a grid-like structure.

## Creating Two-Dimensional Arrays

To create a two-dimensional array in NumPy, we can use the array() function. This function takes a list of lists as input, where each inner list represents a row in the array. Let’s see an example:

``````
import numpy as np

my_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(my_array)
``````

The code above creates a two-dimensional array with three rows and three columns. The output will be:

``````
[[1 2 3]
[4 5 6]
[7 8 9]]
``````

## Accessing Elements

We can access individual elements within a two-dimensional array using square brackets and specifying the row and column indices. The indexing starts from zero. For example:

``````
print(my_array[0][1]) # Accessing element at row index 0 and column index 1
``````

The output will be:

``````
2
``````

## Operations on Two-Dimensional Arrays

NumPy provides various mathematical operations that can be performed on two-dimensional arrays.

We can add or subtract two-dimensional arrays using the + and operators, respectively. The arrays must have the same shape for addition or subtraction to be possible. For example:

``````
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

result = array1 + array2
print(result)
``````
``````
[[6 8]
[10 12]]
``````

### Multiplication

We can multiply two-dimensional arrays using the * operator. Element-wise multiplication is performed between the corresponding elements of the arrays. For example:

result = array1 * array2
print(result)

``````
[[5 12]
[21 32]]
``````

### Transpose

The transpose of a two-dimensional array can be obtained using the T attribute. It swaps the rows and columns of the array. Let’s see an example:

``````
my_array = np.array([[1, 2, 3], [4, 5, 6]])

transposed_array = my_array.T
print(transposed_array)
``````
``````
[[1 4]
[2 5]
[3 6]]
``````

## Conclusion

In this tutorial, we have explored the concept of two-dimensional data structures in NumPy. We have learned how to create, access, and perform operations on two-dimensional arrays. NumPy provides a wide range of functions and methods for working with multi-dimensional data, making it an essential library for scientific computing and data analysis in Python.