将阵列从1D重塑为3D以用于Keras

时间:2017-06-29 16:41:44

标签: python arrays python-2.7 numpy keras

我想重塑我的数据,以便显示3个维度。

以下是创建虚拟数据的代码:

Sample = [{'account': 'Jones LLC', 'Jan': 150, 'Label': 0, 'Mar': [[.332, .326], [.058, .138]]},
 {'account': 'Alpha Co',  'Jan': 200, 'Label': 0, 'Mar': [[.234, .246], [.013, .592]]},
 {'account': 'Blue Inc',  'Jan': 50,  'Label': 1,  'Mar': [[.084, .23], [.745, .923]]}]
df = pd.DataFrame(Sample)

以下是可视化数据:

 df:
  account        Jan                    Mar
Jones LLC  |     150   |  [[.332, .326], [.058, .138]]
Alpha Co   |     200   |  [[.234, .246], [.234, .395]] 
Blue Inc   |     50    |  [[.084, .23], [.745, .923]]

现在,如果我输入:

df['Mar'].shape

我得到(3,)

如何更改此列以使其形状为(3,2,2)来表示数组中的数据?

感谢!!!

1 个答案:

答案 0 :(得分:1)

# No need to each line if strings. def present_pet(pet_name, animal) "#{pet_name} the #{animal} has arrived" end puts present_pet('Bob', 'builder')

形状为np.asarray(df['Mar'].values.tolist())

问题是因为(3, 2, 2)行是列表而只是使用df['Mar']返回列表数组。将所有内容转换为列表然后转换为数组会将所有内容转换为as_matrix()