数据处理——用numpy的empty等方法把许多numpy数组变为一个大的每个独立的数组

文章介绍了在数据处理中如何使用numpy的reshape函数将一维数组转换为二维数组,以及如何利用empty函数创建指定形状的数组来存储多个数据。通过示例代码,解释了np.append和np.reshape的功能,并指出np.empty在创建数组时可能会填充随机值的特性。

目录

数据处理的问题

利用reshape函数用来修改形状

利用empty来创建一个数组用来存储多个数据

数据处理的问题

在数据处理的过程有时我们为了方便管理会把多个小数组合并为一个大数组,但是初学者用简单的多个array[]合并会遇到一个问题

1
2
3
4
5
6
import numpy as np

a=np.array([1,2])
b=np.array([3,4])
a=np.append(a,b)
print(a)

这样也许不是我们想要的,我们想要的是多个二维数组而不是一个单一的一维数组

利用reshape函数用来修改形状

还是刚刚的代码只需要稍作修改

1
2
3
4
5
6
7
import numpy as np

a=np.array([1,2])
b=np.array([3,4])
a=np.append(a,b)
a=np.reshape(a,(-1,2))          #np.reshape(array,shape)其中-1代表的就是空,这里的意思就是行数数随便列数必须为2的二维数组必须对应的上不然就会报错
print(a)

出来的结果:

同样你可以在输入数据的时候就把多少个存储下来然后用其他的函数去修改形状也行

利用empty来创建一个数组用来存储多个数据

利用empty来固定数组的维度

优点是比较简便

缺点是他好像他只可以用来固定1*n维的数组(有知道的评论区说一下)

1
2
3
4
5
6
7
import numpy as np
a=np.array([[1,2]],dtype=float)
b=np.array([[3,4]],dtype=float)
c=np.empty([0,2],dtype=float) #np.empty([x,y],dtype=float)应该数创建x个固定为1*y类型为float类型的数组
c=np.append(c,a,axis=0)
c=np.append(c,b,axis=0)
print(c)

需要注意的是在empty中如果np.empty([x,y])x不为0的话新生成x个1*y维数组,值随机所以最好用0

之前不为0给我创建了x个1*y的随机值

结果: