1.创建数组的方法
1.创建一个2行3列的数组:
np.array([[1,2,3],[5,6,7]])
2.指定创建一个几行几列的数组reshape:
np.array([8,1,134,4]).reshape(2,2)
3.创建一个全0数组(参数 1:shape,数组的形状;参数 2:dtype, 数值类型):
np.zeros((4,5),dtype=int)
4.创建一个全1数组(参数 1:shape,数组的形状;参数 2:dtype, 数值类型):
np.ones((2,3), dtype=int)
5.生成0-1之间的数组2行3列的数组:
np.random.rand(2,3)
6.生成某段数据之间的数组 (参数1:low最小值, 参数2:high最大值, 数组的形状: size,dtype:数值类型):
np.random.randint(2,10,size=(2,4))
7.指定数组,元素是在某个范围内,生成一个数组
np.arange(2,14).reshape(2,6)
2.数组的一些·属性
1.查看数组有几个元素size:
np.random.randint(2,10,size=(2,4)) .size
2.查看数组的形状 shape:
np.random.randint(2,10,size=(2,4)) .shape
3.查看数组的维度 ndim:
np.random.randint(2,10,size=(2,4)) .ndim
4.数组转置,列变行,行变列:
np.random.randint(2,10,size=(2,4)) .T
5.数组每个列的元素求和,当axis=1:是每一行数据进行求和:
np.random.randint(2,10,size=(2,4)) .sum(axis=0)
6.数组元素进行排序,默认升序,axis=0:队列进行排序,axis=1:对行进行排序
a = np.array([[1,4], [3,1]]).sort(axis=1)
7.数组元素求平均值:axis=0:队列进行求平均,axis=1:对行求平均
np.array([[1,4],[3,6]]).mean(axis=1)
8,输出数组中最大的元素,或最小的元素 axis=0:队列进行求最大或最小,axis=1:对行求求最大或最小
np.array([[1,5],[9,10]]).argmax()
np.array([[1,5],[9,10]]).argmin()
3.数组查询
1.查询非0值,输出结果是数组元素的索引值
np.array([[0,5], [9,10]]).nonzero()
2.根据索引值查询数据,例子是查询第一行,第一列的数据
np.array([[0,5], [9,10]])[1,1]
3.查询数组的某一行数据,例子是查询第0行的所有数据
np.array([[0,5], [9,10]])[0]
4.查询数组的某列元素,需要先转置,然后在查询
a =np.array([[0,5], [9,10]]).T
print(a[0])
5.数组也可以进行for循环遍历,遍历出来是每行的一个数据
4.数组之间的逻辑运算
1.两个维度相同的数组进行相加或相减,乘或除
x = np.array([1,2,2])
y = np.array([6,9,0])
print(x +y, x - y,x * y, x / y)
2.数组取余弦,正弦,等运算
x = np.array([6,2,2])
print(np.sin(x), np.cos(x), np.tan(x))
3.对数组每个元素,都取e的次方
x = np.array([6,2,2]) print(np.exp(x))
4.对数组每个元素可以求对数
x = np.array([6,2,2])
print(np.log(x))
5.数组之间乘法 两个数组,对应元素相乘,然后相加:
x = np.array([6,2,2])
y = np.array([2,5,10])
print(np.dot(x,y))