如何将一个字典转换成NumPy数组
有时需要将 Python 中的 dictionary 转换为 NumPy 数组,Python 提供了一种有效的方法来执行这个操作。将一个 dictionary 转换为 NumPy 数组的结果是一个保存 dictionary 中 key-value 对的数组。Python 提供了 numpy.array() 方法来将字典转换成 NumPy 数组,但是在应用这个方法之前,我们必须做一些预处理。作为一个预处理任务,请遵循以下三个简单的步骤
1.首先调用 dict.items() 来返回字典中的一组键值对。
2.然后用list(obj)把这个组作为一个对象,把它转换为一个列表。
3.最后,用这个列表作为数据调用numpy.array(data),将其转换为数组。
语法:
numpy.array( object , dtype = None , copy = True , order = 'K' , subok = False , ndmin = 0 )
参数:
object:一个数组,任何暴露于数组接口的对象。
dtype:数组所需的数据类型。
copy: 如果是 true (默认),那么对象就被复制了。否则,只有当 array 返回一个拷贝时,才会进行拷贝。
order:指定阵列的内存布局
subok 。如果是True,那么子类将被通过,否则返回的数组将被强制为基类数组(默认)。
ndmin:指定生成的数组应该具有的最小维数。
返回值:
ndarray:一个满足指定要求的数组对象。
示例 1:
# 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)
输出:
[['1' 'Geeks']
['2' 'For']
['3' 'Geeks']]
示例 2:
# 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)
输出:
[[1 'Geeks']
[2 'For']
[3 {'A': 'Welcome', 'B': 'To', 'C': 'Geeks'}]]
示例 3:
# 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)
输出:
[['Name' 'Geeks']
[1 list([1, 2, 3, 4])]]