Python | Flatten a 2d numpy array into 1d array
Given a 2d numpy array, the task is to flatten a 2d numpy array into a 1d array. Below are a few methods to solve the task.
Method #1 : Using np.flatten()
Python3
import numpy as np
ini_array1 = np.array([[ 1 , 2 , 3 ], [ 2 , 4 , 5 ], [ 1 , 2 , 3 ]])
print ("initial array", str (ini_array1))
result = ini_array1.flatten()
print ("New resulting array: ", result)
|
Output:
initial array [[1 2 3]
[2 4 5]
[1 2 3]]
New resulting array: [1 2 3 2 4 5 1 2 3]
Time complexity: O(n), where n is the total number of elements in the 2D numpy array.
Auxiliary space: O(n), as the result array is also of size n. The flatten function returns a flattened 1D array, which is stored in the “result” variable.
Method #2: Using np.ravel()
Python3
import numpy as np
ini_array1 = np.array([[ 1 , 2 , 3 ], [ 2 , 4 , 5 ], [ 1 , 2 , 3 ]])
print ("initial array", str (ini_array1))
result = ini_array1.ravel()
print ("New resulting array: ", result)
|
Output:
initial array [[1 2 3]
[2 4 5]
[1 2 3]]
New resulting array: [1 2 3 2 4 5 1 2 3]
Method #3: Using np.reshape()
Python3
import numpy as np
ini_array1 = np.array([[ 1 , 2 , 3 ], [ 2 , 4 , 5 ], [ 1 , 2 , 3 ]])
print ("initial array", str (ini_array1))
result = ini_array1.reshape([ 1 , 9 ])
print ("New resulting array: ", result)
|
Output:
initial array [[1 2 3]
[2 4 5]
[1 2 3]]
New resulting array: [[1 2 3 2 4 5 1 2 3]]
Time Complexity: O(n), where n is the total number of elements in the 2D numpy array.
Auxiliary Space: O(n), as the program creates a new 1D list with the same number of elements as the original 2D array.
Last Updated :
03 Feb, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...