繁体   English   中英

我在 Pandas 中有一个 30 x 20 矩阵,我想将其转换为 600 x 1 列数组。 如果没有 Numpy,这可能吗?

[英]I have a 30 x 20 matrix in Pandas that I'd like to convert into a 600 x 1 column array. Is that possible to do without Numpy?

我想保持顺序,以便每一列都添加到前一列的下方。 所以首先是 Column1,然后是 column2,然后是 column3,以此类推。

编辑:这个答案假设您希望行值彼此跟随,您要求将列“放在彼此之上”。 你可以这样做:

df.melt().value.values

当然。 您可以将其转换为 numpy 数组,然后对其进行整形,将整个矩阵中的单元数作为参数传递。 假设您的矩阵称为df ,您可以使用df.size获取单元格的数量。 这将变成一个1 x number-of-cells数组。

np.array(df).reshape(df.size)
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)

这段代码会将列表转换为数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM