我在Dataframe中有一列,其中每个单元格都有一个(300,)
形状的numpy数组。
当我使用.values
方法提取此列的值时,我得到一个形状为(N,)
的numpy数组,其中N
是数据帧的行数。 N
的每个元素都是一个(300,)
数组。我希望提取的形状为(Nx300)
。
所以我想将提取的列的形状设置为(Nx300)
。我尝试使用pd.as_matrix()
,但这仍然使我得到一个形状为(N,)
的数字数组。
有什么建议吗?
答案 0 :(得分:0)
您可以使用numpy.concatenate
,转换为列表并转换为array
:
a = np.random.randint(10, size=300)
print (a.shape)
(300,)
df = pd.DataFrame({ 'A':[a,a,a]})
arr = np.array(np.concatenate(df.values).tolist())
print (arr.shape)
(3, 300)