上节课我们初步认识了NumPy以及用np.array来创建数组,这节课我们进一步从更全面的角度来用NumPy创建我们想要的数据。
1数据类型
NumPy支持很多不同的数据类型,从整数型(int)到浮点型(float),再到复数型,应有尽有。如何判断我们是否创建了我们想要的数据类型是一件比较重要的事情,NumPy给我们提供了dtype命令来查看数据类型:
我们分别建立了三个NumPy数组,a是整数型;b由于带了小数就是浮点型,其实这里有个小技巧:如果你想保证运算的精度,尤其是带除法的时候,我们尽量用小数赋值变量。c我们直接申明了dtype=complex,不出意外,它就是复数型。最后我们通过打印查看这三个变量的数据类型:
由于NumPy数组的数据类型有特别多,我们直接给出一个表格供大家查阅:
2数组属性
在我们知道了NumPy数据类型后,我们还需要知道它的更多属性来全面了解这个数组。其实,数据类型,dtype,就是一种属性。常用的属性还有,维度(ndim),形状(shape),元素个数(size)等等。
我们分别查看了b数组的维度,形状,以及元素个数。我们知道b是一个2*2的浮点型数组,因为它的维度是2,形状就是行数乘以列数(2,2);元素个数是4。对于c这个复数数组,我们调用了实部(real)和虚部(imag)这个两个属性。
运行结果:
最后我们给个比较全面的NumPy数组属性表格:
3创建数组
NumPy的数组属性既可以方便我们查看,反过来也可以帮助我们创建想要的数组。一般而言我们有两种创建方法:第一种,我们直接填入已知数据,比如我们在上面两小节创建的数组都属于这一种。第二种,利用特殊函数来创建:
(1)numpy.zeros:创建元素全是0的数组
(2)numpy.ones: 创建元素全是1的数组
我们用第一种方法,创建了数据类型为浮点型(float)的数组e;然后通过第二种方法,分别创建了元素都是0和1的两个数组。注意到我们可以通过dtype,以及shape等来控制数组属性。在上面的例子中我们把shape省略了,只用(3,2)这种形式,大家也可以把shape加入进去。
运行结果: