1.导入库

import numpy as np

2.将列表转为矩阵

array = np.array([[1,2,3],
                  [2,3,4]]) 
print(array)
print('number of dim',array.ndim) #维度
print('shape:',array.shape) 
print('size:',array.size)

在这里插入图片描述

3.dtype可以指定数据类型

a = np.array([2,3,4],dtype = np.float)
print(a.dtype)

在这里插入图片描述

4.生成矩阵

a = np.zeros((3,4)) # 生成3行4列全是0的矩阵
a

在这里插入图片描述

a = np.ones((3,4)) # 生成3行4列全是1的矩阵
a

在这里插入图片描述

a = np.arange(10,20,2)  #生成以10开始步长为2,以18结束的数列
a

在这里插入图片描述

5.使用reshape改变shape

a = np.arange(12).reshape((3,4))
a

在这里插入图片描述

6.生成数列

a = np.linspace(1,10,20) # 生成从1到10 取20段的数列
a

在这里插入图片描述

7.numpy的基础运算

a = np.array([10,20,30,40])
b = np.arange(4)
c = a - b # 减
d = a + b # 加
e = a ** 2 # 平方
f = 10 * np.sin(a)
f

在这里插入图片描述

8.通过判断取值

# 判断
b = np.arange(4)
print(b)
print(b<3) # 判断哪些数小于3
print(b == 3) # 判断哪些值等于3

在这里插入图片描述

9.矩阵乘法

a = np.array([[1,1],
             [0,1]])
b = np.arange(4).reshape((2,2))
# 矩阵乘法
c = a*b # 逐个相乘
c_dot  = np.dot(a,b) #矩阵乘法
c_dot2 = a.dot(b) #矩阵乘法另一种表现形式
print(c)
c_dot

在这里插入图片描述

10.生成随机数矩阵

a = np.random.random((2,4)) #生成2行4列,取值为0到1随机数的矩阵
a

在这里插入图片描述

11.矩阵求和取最大最小值

a = np.random.random((2,4)) #生成2行4列,取值为0到1随机数的矩阵
print(np.sum(a)) # 求和
print(np.min(a)) # 求最小值
print(np.max(a)) # 求最大值
print(np.sum(a,axis =1)) # 对每个行求和
print(np.min(a,axis =0)) # 求每列的最小值

在这里插入图片描述

12.numpy的索引

A = np.arange(2,14).reshape((3,4))
A

在这里插入图片描述

print(np.argmin(A)) # 计算最小值的索引
print(np.argmax(A)) # 计算最大值的索引
print(np.mean(A)) # 计算矩阵平均值
print(np.median(A)) # 计算矩阵中位数
print(np.cumsum(A)) # 对矩阵进行累加
print(np.diff(A))  # 对矩阵进行一阶差分
print(np.nonzero(A)) # 输出矩阵中非零值的位置
print(np.sort(A)) # 对矩阵进行逐行排序
print(np.transpose(A)) # 对矩阵进行转置 A.T也可以
print(np.clip(A,3,9)) # 将矩阵中所有小于3的值变成3,大于9的值变成9

在这里插入图片描述

A = np.arange(3,15).reshape(4,3)
A

在这里插入图片描述

print(A[3]) # 输出第四行
print(A[1][1]) # 输出第二行第二列 A[1,1]也可以
print(A[2,:]) # 输出第三行的所有数
print(A[1,1:3]) # 输出第二行第二个数到第三个数

在这里插入图片描述

13.迭代

for row in A : # 迭代每一行
    print(row)

在这里插入图片描述

for column in A.T : # 迭代每一列
    print(column)

在这里插入图片描述

for item in A.flat : # 迭代每一个值
    print(item)

在这里插入图片描述

14.合并

A = np.array([1,1,1])
B = np.array([2,2,2])
print(np.vstack((A,B))) # 上下合并
print(np.hstack((A,B))) # 左右合并

在这里插入图片描述

A = np.array([1,1,1])[:,np.newaxis] # 在列上加一个维度
B = np.array([2,2,2])[:,np.newaxis]
print(np.vstack((A,B))) # 上下合并
print(np.hstack((A,B))) # 左右合并

在这里插入图片描述

print(np.concatenate((A,B,B,A),axis=0)) # 进行多个array的合并 上下合并

在这里插入图片描述

print(np.concatenate((A,B,B,A),axis=1)) # 进行多个array的合并 左右合并

在这里插入图片描述

15.分割

A = np.arange(12).reshape((3,4))
A

在这里插入图片描述

print(np.split(A,2,axis = 1)) #将A分成两块 对列操作

在这里插入图片描述

print(np.split(A,3,axis = 0)) #将A分成3块 对行操作

在这里插入图片描述

print(np.array_split(A,3,axis = 1)) #将A分成3块 对列操作

在这里插入图片描述

print(np.vsplit(A,3)) # 横向分成三块
print(np.hsplit(A,2)) # 纵向分成两块

在这里插入图片描述

在这里插入代码片

16.复制

# 复制
a = np.arange(4)
a

在这里插入图片描述

b = a 
c = a
d = b
a[0] = 11 # 改变a的一个值
a

在这里插入图片描述

b is a # 改变a的同时发现b也同时改变了

在这里插入图片描述

b

在这里插入图片描述

d is a # d 也同样改变了

在这里插入图片描述

d[1:3] = [22,33] # 同样改变d a也会改变
a

在这里插入图片描述

b  = a.copy() #用copy赋值
b

在这里插入图片描述

a[3] = 66
a

在这里插入图片描述

b # 现在改变a的值b不会变了

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐