Numpy Array Creation (original) (raw)

Last Updated : 24 Jan, 2025

**Numpy Arrays are grid-like structures similar to lists in Python but optimized for numerical operations. The most straightforward way to create a NumPy array is by converting a regular Python list into an array using the np.array() function.

Let's understand this with the help of an example:

Python `

import numpy as np

One-dimensional array

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

Two-dimensional array

arr2 = np.array([[1, 2], [3, 4]]) print(arr2)

`

Output

[1 2 3 4 5] [[1 2] [3 4]]

Creating Arrays with Specific Values

For assigning a specific values. NumPy provides several function to create arrays filled with zeros, ones, or a specific constant value.

**Example:

Python `

import numpy as np

3x4 array filled with zeros

arr_zero = np.zeros((3, 4))
print(arr_zero)

`

Output

[[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]]

**Example:

Python `

import numpy as np

2x3 array filled with ones

arr_one = np.ones((2, 3))
print(arr_one)

`

Output

[[1. 1. 1.] [1. 1. 1.]]

**Example:

Python `

import numpy as np

2x2 array filled with 7

arr_full = np.full((2, 2), 7) print(arr_full)

`

Creating Arrays with Random Values

NumPy also has functions for generating arrays with random values, useful for simulations and testing.

**Example:

Python `

import numpy as np

2x3 array of random floats

arr_rand = np.random.rand(2, 3) print(arr_rand)

`

Output

[[0.67820861 0.64484802 0.48673431] [0.00263043 0.55383721 0.43240166]]

**Example:

Python `

import numpy as np

3x3 array of random integers from 1 to 9

arr_int = np.random.randint(1, 10, size=(3, 3)) print(arr_int)

`

Output

[[4 6 5] [7 4 8] [8 5 2]]

Creating Arrays with a Range of Values

Another common method of creating arrays is using a range of values. NumPy provides functions like np.arange() and np.linspace() for this purpose.

**Example:

Python `

import numpy as np

Array from 0 to 10 with step 2

arr_range = np.arange(0, 10, 2)
print(arr_range)

`

**Example:

Python `

import numpy as np

5 values from 0 to 1

arr_linspace = np.linspace(0, 1, 5)
print(arr_linspace)

`

Output

[0. 0.25 0.5 0.75 1. ]

Identity and Diagonal Matrices

NumPy also provides functions for creating identity matrices and diagonal matrices, which are often used in linear algebra.

**Example:

Python `

import numpy as np

3x3 identity matrix

identity_matrix = np.eye(3)
print(identity_matrix)

`

Output

[[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]]

**Example:

Python `

import numpy as np

Diagonal matrix with [1, 2, 3] on the diagonal

diag_matrix = np.diag([1, 2, 3])
print(diag_matrix)

`

Output

[[1 0 0] [0 2 0] [0 0 3]]

Methods for array creation in Numpy

Function Description
**empty() Return a new array of given shape and type, without initializing entries
**empty_like() Return a new array with the same shape and type as a given array
**eye() Return a 2-D array with ones on the diagonal and zeros elsewhere.
**identity() Return the identity array
**ones() Return a new array of given shape and type, filled with ones
**ones_like() Return an array of ones with the same shape and type as a given array
**zeros() Return a new array of given shape and type, filled with zeros
**zeros_like() Return an array of zeros with the same shape and type as a given array
**full_like() Return a full array with the same shape and type as a given array.
**array() Create an array
**asarray() Convert the input to an array
**asanyarray() Convert the input to an ndarray, but pass ndarray subclasses through
**ascontiguousarray() Return a contiguous array in memory (C order)
**asmatrix() Interpret the input as a matrix
**copy() Return an array copy of the given object
**frombuffer() Interpret a buffer as a 1-dimensional array
**fromfile() Construct an array from data in a text or binary file
**fromfunction() Construct an array by executing a function over each coordinate
**fromiter() Create a new 1-dimensional array from an iterable object
**fromstring() A new 1-D array initialized from text data in a string
**loadtxt() Load data from a text file
**arange() Return evenly spaced values within a given interval
**linspace() Return evenly spaced numbers over a specified interval
**logspace() Return numbers spaced evenly on a log scale
**geomspace() Return numbers spaced evenly on a log scale (a geometric progression)
**meshgrid() Return coordinate matrices from coordinate vectors
**mgrid() nd_grid instance which returns a dense multi-dimensional “meshgrid
**ogrid() nd_grid instance which returns an open multi-dimensional “meshgrid
**diag() Extract a diagonal or construct a diagonal array
**diagflat() Create a two-dimensional array with the flattened input as a diagonal
**tri() An array with ones at and below the given diagonal and zeros elsewhere
**tril() Lower triangle of an array
**triu() Upper triangle of an array
**vander() Generate a Vandermonde matrix
**mat() Interpret the input as a matrix
**bmat() Build a matrix object from a string, nested sequence, or array