目录
一、优势
二、创建数组 -- np模块
1、引用numpy
2、对一些函数进行说明
array:
注:多维数组
arange:
修改形状不改变值reshape:
构建相同数字的数组
三、生成随机数组 -- random模块
1、引用
2、randn:
3、四舍五入
由于python进行矩阵计算时,需要先循环遍历后再进行计算。
而numpy可以直接计算,因此,计算数量越大,矩阵规模越大,越节省时间。
# import numpy as xxx(模块)
#比如
import numpy as np
将输入数据(列表、元组、数组或其他序列)转换为numpy数组,若不指明数据类型,则自动推断。
属性:shape:返回元组,表示array的维度(形状、几行几列)
ndim:返回数字,表示维度的数目
size:返回数字,表示所有数据元素的数目
dtype:返回元素的数据类型
a = np.array( range(1,6) )
print(a.shape, a.ndim, a.size, a.dtype)
#指定数据类型
a1 = np.array( range(1,6), dtype = float )
#指定数据类型和位数
a2 = np.array( range(1,6), dtype = 'float32' )#位数修改为32位,之前是64位
一维数组:当数组中每个元素都只带有一个下标时,为一维数组 -- 实质上是一组相同类型数据的线性集合
二维数组:数组的数组 -- 以数组作为数组元素的数组
创建数字序列
np.arange( [开始数字] , [结束数字], [步长], dtype - None )
b1 = np.arange(5)
b2 = np.arange(1,10,2)
#生成1行10列
ar1 = np.arange(10)
#变成2行5列
ar2 = a1.reshape(2,5)
print(ar1)
print(ar2)
#不清楚对方阵型,之间变成一维
ar3 = a.flatten()
1、ones:创建全为1的数组
#3行
o1 = np.ones(3)
#2行3列
o2 = np.ones( (2,3) )
#创建与a相同形状和数据类型的数组,并且数组中的值均为1
o3 = np.ones_like( a,dtype = float,order = 'C',subok = True )
2、zeros:创建全为0的数组
#3行
z1 = np.zeros(3)
#2行3列
z2 = np.zeros( (2,3) )
#创建与a相同形状和数据类型的数组,并且数组中的值均为1
z3 = np.zeros_like( a,dtype = float,order = 'C',subok = True )
3、full:创建指定值的数组
# np.full( shape, full_value, dtype = None, order = 'C' )
#参数:
shape:整数或整型元组定义返回数组的形状,可以是一个数(一维向量)或元组(多维向量)
fill_value:标量,想设置的数
dtype:数据类型,可定义返回数组的类型
#3行
f1 = np.full(3,520)
#2行3列
f2 = np.full( (2,3), 1314 )
#创建与a大小相同的指定数组
f3 = np.full_like( a, fill_value, dtype = None )
import random
#np.random.randn(d0,d1,d2, .... ,dn)
#括号里有几个数字就是几维
#一个随机数
r1 = np.random.randn()
#3个随机数字
r2 = np.random.randn(3)
#2行3列随机数字
r3 = np.random.randn(2,3)
#3块,每块2行3列
r4 = np.random.randn(3,2,3)
r5 = np.round(r4,2)
#对r4数组进行保留两位小数的操作