在python中将数据字典转换为numpy数组

Sla*_*y88 0 python dictionary numpy

我正在尝试转换具有如下结构的数据字典:

{'name': array(['Ben','Sean,'Fred'])
 'age': array([22, 16, 35]),
 'marks': array([98, 75, 60]),
 'result': array('HD','D','C')}
Run Code Online (Sandbox Code Playgroud)

然后,我需要过滤掉字典,使其仅包含新 numpy 数组中的名称、标记和结果,以便能够在图表上绘制(我可以做到这一点,但我无法过滤列表,然后转换为 numpy)

Muh*_*mar 5

假设你的字典是这样的。

dict = {
'name': ['Ben','Sean','Fred'],
'age': [22, 16, 35], 
'marks': [98, 75, 60], 
'result': ['HD','D','C']
}
Run Code Online (Sandbox Code Playgroud)

您可以迭代字典以获取所需的值并将它们附加到列表中。然后将其转换为 NumPy 数组。在这里我使用了所有的键

姓名、年龄、成绩、成绩

但如果您愿意,您可以过滤一些键。

如果键不在 ['age'] 中:

import numpy as np
data_list = []
for key, val in dict.items():
    data_list.append(val)

numpy_array = np.array(data_list)
transpose = numpy_array.T
transpose_list = transpose.tolist()
Run Code Online (Sandbox Code Playgroud)

最终结果如下:

[['Ben', '22', '98', 'HD'],
['Sean', '16', '75', 'D'],
['Fred', '35', '60', 'C']]
Run Code Online (Sandbox Code Playgroud)