It’s sometimes required to convert a dictionary in Python into a NumPy array and Python provides an efficient method to perform this operation. Converting a dictionary to NumPy array results in an array holding the key-value pairs in the dictionary. Python provides numpy.array() method to convert a dictionary into NumPy array but before applying this method we have to do some pre-task. As a pre-task follow this simple three steps
- First of all call dict.items() to return a group of the key-value pairs in the dictionary.
- Then use list(obj) with this group as an object to convert it to a list.
- At last, call numpy.array(data) with this list as data to convert it to an array.
Syntax:
numpy.array(object, dtype = None, *, copy = True, order = ‘K’, subok = False, ndmin = 0)
Parameters:
object: An array, any object exposing the array interface
dtype: The desired data-type for the array.
copy: If true (default), then the object is copied. Otherwise, a copy will only be made if __array__ returns a copy
order: Specify the memory layout of the array
subok: If True, then sub-classes will be passed-through, otherwise the returned array will be forced to be a base-class array (default)
ndmin: Specifies the minimum number of dimensions that the resulting array should have.
Returns:
ndarray: An array object satisfying the specified requirements.
Example 1:
Python
# Python program to convert # dictionary to numpy array # Import required package import numpy as np # Creating a Dictionary # with Integer Keys dict = { 1 : 'Geeks' , 2 : 'For' , 3 : 'Geeks' } # to return a group of the key-value # pairs in the dictionary result = dict .items() # Convert object to a list data = list (result) # Convert list to an array numpyArray = np.array(data) # print the numpy array print (numpyArray) |
Output:
[['1' 'Geeks'] ['2' 'For'] ['3' 'Geeks']]
Time Complexity: O(n)
Space Complexity: O(n)
Example 2:
Python
# Python program to convert # dictionary to numpy array # Import required package import numpy as np # Creating a Nested Dictionary dict = { 1 : 'Geeks' , 2 : 'For' , 3 : { 'A' : 'Welcome' , 'B' : 'To' , 'C' : 'Geeks' } } # to return a group of the key-value # pairs in the dictionary result = dict .items() # Convert object to a list data = list (result) # Convert list to an array numpyArray = np.array(data) # print the numpy array print (numpyArray) |
Output:
[[1 'Geeks'] [2 'For'] [3 {'A': 'Welcome', 'B': 'To', 'C': 'Geeks'}]]
Time complexity: O(n), where n is the number of key-value pairs in the dictionary.
Auxiliary space: O(n), to store the list of key-value pairs in the dictionary.
Example 3:
Python
# Python program to convert # dictionary to numpy array # Import required package import numpy as np # Creating a Dictionary # with Mixed keys dict = { 'Name' : 'Geeks' , 1 : [ 1 , 2 , 3 , 4 ]} # to return a group of the key-value # pairs in the dictionary result = dict .items() # Convert object to a list data = list (result) # Convert list to an array numpyArray = np.array(data) # print the numpy array print (numpyArray) |
Output:
[['Name' 'Geeks'] [1 list([1, 2, 3, 4])]]
Time complexity: The time complexity of converting a dictionary to a numpy array is O(n), where n is the number of elements in the dictionary.
Space complexity: The space complexity of converting a dictionary to a numpy array is O(n), where n is the size of the numpy array.