我有一个30 x 20的Pandas矩阵,我想把它转换成一个600 x 1的列数组。没有Numpy也可以吗?

2024-06-17 12:49:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想保持顺序,这样每一列都会添加到上一列的下面。所以第一列,然后是第二列,然后是第三列,以此类推


2条回答
df= -'your dataframe' -
x = df.to_numpy()
y=[]
for i in x:
    for e in i:
        y.append(e)
print(y)

此代码将给出一个列表(大小为nx1)

array=np.array(y)

此代码将列表转换为数组

编辑:这个答案是假设您希望行值彼此跟随,您需要将列“放在彼此的顶部”。您可以通过以下方式实现:

df.melt().value.values

当然。您可以将其转换为numpy数组,并对其进行重塑,将整个矩阵中的单元格数作为参数传递。假设您的矩阵名为df,您可以通过df.size获得单元格的数量。这将变成一个1 x number-of-cells数组

np.array(df).reshape(df.size)

相关问题 更多 >