将字典中的数组转换为数组列表

convert arrays in dictionary into list of arrays

我有一本名为 'voltage' 的字典,其中有 206 个条目,如图所示。每个项目都是 (25;3;1) 的数组。我想将字典转换为数组列表并将其作为输入以使用 model.fit()

训练模型

我尝试将 'dictionary with arrays'(电压)作为模型的输入。但它给出了以下错误。

model.fit(x=voltage, y=output, steps_per_epoch=None, epochs=1000)

ValueError: No data provided for "input_1". Need data for each key in: ['input_1']

后来我尝试将 'dictionary with arrays' 转换为 'list of arrays'

temp = []
input= []

for key, value in voltage:
temp = [key,value]
input.append(temp)

ValueError                                Traceback (most recent call last)
<ipython-input-26-8b0eb6392467> in <module>
  2 input= []
  3 
----> 4 for key, value in voltage:
  5     temp = [key,value]
  6     input.append(temp)
ValueError: not enough values to unpack (expected 2, got 1)

我试过了,但出现值错误。

请帮我解决这个问题。

谢谢:)

已编辑 正如 Geethesh 所说,我尝试了这段代码,它已将我的字典转换为数组列表,但形状很奇怪。最初,我字典中的项目的形状是 (25,3,1)

for value, key in voltage.items():
temp = [key,value]
input.append(temp)

np.shape(input)

This gives me a shape of (1, 206, 2)

但我需要 (206, 25, 3, 1) 的形状。包含 206 个样本的列表,每个样本的大小为 (25,3,1)。

如何更改列表的形状??

你必须使用

for value, key in voltage.items():
    input.append(value)

您也可以使用列表理解

input= [value for value, key in  voltage.items()]