1.数组的建立

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
  1. object 任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。
  2. dtype 数组的所需数据类型,可选。
  3. copy 可选,默认为true,对象是否被复制。
  4. .order C(按行)、F(按列)或A(任意,默认)。
  5. subok 默认情况下,返回的数组被强制为基类数组。 如果为true,则返回子类。
  6. ndimin 指定返回数组的最小维数。
    一维数组

创建数组

(1)创建任意维度数组
 b = np.array([[1,2],[3,4]])

numpy基础(一)

(2)最小维度限制
c = np.array([1,2,3,4,5], ndmin= 2)

numpy基础(一)

(3)数据类型限定
d = np.array([0,1,2,3,4], dtype = complex)  #dtype根据数据类型进行转化

numpy基础(一)
numpy基础(一)

(4)建立结构化数组
student = np.dtype([('name','S20'),('age','i1'),('marks','f4')])
ab= np.array([('abc',21,50),('xyz',18,75)], dtype =student)

numpy基础(一)

2.对数组的操作

a = np.array([[1,2],[3,4],[5,6]])

(1)数组的元素个数

a.size

numpy基础(一)

(2)数组形状

a.shape    #shape[0]:行数,shape[1]:列数

numpy基础(一)

(3)数组元素类型

a.dtype

numpy基础(一)

(4) 改变数组的形状

#创建一维矩阵(个数为10)
ones_10 = np.ones(10)
#改变矩阵为(2,5)维
ones_2_5 = ones_10.reshape(2,5)

numpy基础(一)

3.创建特殊数组

(1)创建5行6列数值全为1的数组

array_one = np.ones([5,6])

numpy基础(一)

(2)创建5行6列数值全为0的数组

array_zero = np.zeros([5,6])

numpy基础(一)

(3) 创建三行四列随机数组(数值在0-1之间)

array_random = np.random.rand(3,4)

numpy基础(一)

array_random = np.random.randn(3,4)   #高斯正态分布随机数组

numpy基础(一)

(4) 创建(4,4)的对角矩阵

eye_4 = np.eye(4)

numpy基础(一)

4.数组的计算

(1)条件运算

a = 6*np.random.random(6)
a>3
np.where(a > 3,6,0)   #数组a中大于3的,替换成6,小于3的替换成0

numpy基础(一)

(2) 统计运算

①计算数组的最大值/最小值
a = np.array([[1,2],[3,4]])   #创建一个(2,2)数组
print("整个数组的最大值:",np.max(a))   #整个数组的最大值
print("每一列的最大值",np.max(a,axis = 0))  #每一列的最大值
print("每一行的最大值",np.max(a,axis = 1))  #每一行的最大值
#求最小值是将max换成min即可

numpy基础(一)

②计算数组的平均值
a = np.array([[1,2],[3,4]])   #创建一个(2,2)数组
print("整个数组的平均值:",np.mean(a))   #整个数组的平均值
print("每一列的平均值",np.mean(a,axis = 0))  #每一列的平均值
print("每一行的平均值",np.mean(a,axis = 1))  #每一列的平均值

numpy基础(一)

③计算数组的标准差
a = np.array([[1,2],[3,4]])   #创建一个(2,2)数组
print("整个数组的标准差:",np.std(a))  
print("每一列的标准差",np.std(a,axis = 0)) 
print("每一行的标准差",np.std(a,axis = 1))  
#方差为:np.var()

numpy基础(一)

④计算数组的和
a = np.array([[1,2],[3,4]])   #创建一个(2,2)数组
print("整个数组的和:",np.sum(a))  
print("每一列的和",np.sum(a,axis = 0)) 
print("每一行的和",np.sum(a,axis = 1))  

numpy基础(一)

5.矩阵运算

(1)矩阵乘法

a = np.array([[1,2],[3,4],[5,6]])   #创建一个(3,2)矩阵
b = np.array([[1,2,3],[4,5,6]]) #创建一个(3,2)矩阵
np.dot(a,b)    #两矩阵相乘得到(3,3)矩阵

numpy基础(一)

(2)矩阵内数值的运算

①两个矩阵相加
	a + c   #a与c是同一种数组
②矩阵内各数值+2
	a + 2
	np.add(a,2)   #两种方法均可
③矩阵乘以一个常数2
	a * 2
④两个矩阵对应元素相乘
	a * c
	np.multiply(a,c)   #两种方法均可

(3)矩阵行列式运算

a = np.array([[1,2],[3,4]])
np.linalg.det(a)

numpy基础(一)

(4)求解矩阵方程式

对于这个方程式:
numpy基础(一)

A = np.array([[1,1,1],[0,2,5],[2,5,-1]])
B = np.array([[6],[-4],[27]])
C=np.linalg.solve(A,B)

numpy基础(一)

(5)矩阵的逆

x = np.array([[1,2],[3,4]]) 
y = np.linalg.inv(x)

numpy基础(一)

(6)矩阵转置

x = np.array([[1,2],[3,4]]) 
x.T  #或者np.transpose(x)

numpy基础(一)

6.高级操作

(1)矩阵拼接

a = [[1,2,3,4],
     [6,7,8,9]]
b = [[1,2,3,4],
     [6,7,8,9]]
#垂直拼接
result_v = np.vstack((a,b))
print("垂直拼接结果为:\n",result_v)
#水平拼接
result_h = np.hstack((a,b))
print("水平拼接结果为:\n",result_h)

numpy基础(一)

相关文章:

  • 2021-06-25
  • 2022-12-23
猜你喜欢
  • 2021-09-14
  • 2022-12-23
  • 2021-08-03
  • 2021-09-27
  • 2021-06-24
  • 2021-08-19
相关资源
相似解决方案