一、np.array()
np.array()/1、参数一般是一个列表,可以将一个列表转换为多维数组。为什么要将列表转换为数组呢?因为列表中存储的是对象类型,如果是单一的类型,没有必要用列表,因为这样会浪费存储空间,同时也方便运算。
nparr = np.array([i for i in range(10)])
nparr
结果:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
2、想要查看数组中存储的数据类型可通过.dtype来查看。如果数据中有浮点数,则整数也转化为浮点数类型。
nparr2 = np.array([1,2,3.0])
nparr2.dtype
结果:
dtype('float64')
3、还可以通过方法来直接创建特殊的数组(注意,通过这些方法创建的数组,其中的填充数据默认类型都为float),如下:
- np.zeros(10):创建一个一维的0数组,若想要创建int型,要显示声明dtype=int,即:np.zeros(10,dtype = int)。
- np.zeros((3,5)):创建一个多维的0数组。3为行,5为列。创建int型:np.zeros(shape = (3,5),dtype = int)
- np.ones(10):创建一个一维的1数组。
- np.ones((3,5)):创建一个多维的1数组。3为行,5为列。
- np.full(shape = (3,5),fill_value=666):创建3行5列的数组,数据类型为int。
- np.full(shape = (3,5),fill_value=666.0):创建3行5列的数组,数据类型为float。
4、np.array的基本操作(x为数组)
- .x.ndim:查看数组的维度
- x.shape:查看数组的行数和列数,以元组的形式返回
- x.size:返回数组中数据的个数
二、np.arange()
1、创建列表我们可以直接用range。
[i for i in range(0,20,2)]
结果:
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
0和20是指:从0开始但不包括20,2为步长。
2、np提供了np.arange()这个方法可以直接创建数组,用法同range差不多。传入前两个参数,默认步长为1;传入一个参数,则是指从0开始,到所传的参数,步长为1。
np.arange(0,20,2)
结果:
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
np.arange(0,10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
三、np.linspace
np.linspace(0,20,11)
array([ 0., 2., 4., 6., 8., 10., 12., 14., 16., 18., 20.])
其中0为起始数,20为终止数,11是将0到20(包括20)以平均步长分为11个数。默认类型为float。
四、np.random
np中也封装了对随机数产生的方法。
- np.random.randint(0,10,size = 10):产生10个0到10的整型数,以一维数组的形式保存。(size可省略)
- np.random.randint(0,10,size=(3,5)):产生3行5列的0到10 的随机数组。
- np.random.random():产生一个0到1之间的随机数。
- np.random.random(10):产生10个0到1之间的随机数,以一维数组的形式保存。
- np.random.random((3,5)):产生3行5列的0到1的随机数组。
- np.random.normal(mean,stdev,size):给出均值为mean,标准差为stdev的高斯随机数(场),当size赋值时,例如:size=100,表示返回100个高斯随机数。
五、np.reshape
np.reshape()可以将一个一维数组分割为多维数组,或者对它进行转置。
x = array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x.reshape(2,5)
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
x.reshape(2,5)将数组分割为2行5列的多维数组。如果不能分割,则会报错。
x.reshape(5,-1)
array([[0, 1],
[2, 3],
[4, 5],
[6, 7],
[8, 9]])
x.reshape(-1,5)
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
-1则是表明为任意行或者列,控制数组形状的为另一个参数。
原创请注明:https://blog.csdn.net/lzg13663472636/article/details/81158315