1.Numpy的数据结构与一维数组
①Numpy的数据结构是ndarray结构
②对于构造的一维数组:
ve = numpy.array([1, 2, 3, 4])
print(ve.shape)
结果是:
(4,) #表示是一维的,有4个元素
2.Numpy常用函数
print(np.arange(15)) #构造一个0到14的一维数组或向量
a = np.arange(15).reshape(3,5) #将一维形式变成二维(3,5)矩阵
print(a)
print(a.ndim) #打印a的维数
结果是:
[ 0 1 2 ..., 12 13 14] #一个0到14的一维数组或向量
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]] #二维矩阵
2 #维数是2维
----------------------其他一些常用函数(ง •_•)ง-----------------------------
a.dtype #查看a里面的数据类型
a.size #查看a中有多少个元素
numpy.zeros((3,4)) #构造一个(3,4)的全零矩阵,默认是float型
numpy.ones((2,3,4), dtype=numpy.int32) #构造一个整型的(2,3,4)三维全1矩阵
numpy.arange(10,30,5) #构造10到30之间步长为5的数组(不包括30),结果是[10, 15, 20, 25]
numpy.random.random((2,3)) #构造一个(2,3)的随机矩阵
3.Numpy.linspace用法
from numpy import pi
b = np.linspace(0, 2*pi, 100) #构造0到2*pi之间被100均分的100个元素的数组
print(b)
结果是:
[ 0. 0.06346652 0.12693304 ..., 6.15625227 6.21971879
6.28318531]
4.Numpy的计算
a = np.array([10, 20, 30, 40])
b = np.arange(4)
print(a)
print(b)
c = a-b #a和b对应位置元素相减
print(c)
b**2
print(b**2) #b中的每个元素求2次幂
print(a<25) #判断a中每个元素是否小于25,是的返回True,否返回False
结果是:
[10 20 30 40]
[0 1 2 3]
[10 19 28 37]
[0 1 4 9]
[ True True False False]
5.Numpy的矩阵运算:两种运算方式区别——A*B 和 A.dot(B)(或者np.dot(A, B))
A = np.array([[1,1],[0,1]])
B = np.array([[2,0],[3,4]])
print(A)
print(B)
print("==================")
print(A*B) #A和B两个矩阵中对应位置元素相乘
print(A.dot(B)) #A和B进行矩阵运算
print(np.dot(A, B)) #A和B进行矩阵运算
结果是:
[[1 1]
[0 1]]
[[2 0]
[3 4]]
==================
[[2 0]
[0 4]] #A和B两个矩阵对应位置相乘
[[5 4]
[3 4]] #A和B进行矩阵运算
[[5 4]
[3 4]] #A和B进行矩阵运算