2017-06-29 58 views
0

我想整形我的数据以便显示三维。将阵列从1D重新整形为三维,用于Keras

下面是代码来创建虚拟数据:

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

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

这种具有形状(3, 2, 2)

问题是因为df['Mar']的行是列表,只是使用as_matrix()返回一个列表数组。将所有东西都转换为列表,然后转换为数组,可以将所有东西都转换为np.array

+0

谢谢!这工作 –