美文网首页python
02.numpy 的使用

02.numpy 的使用

作者: 一直流浪 | 来源:发表于2022-09-17 16:11 被阅读0次

    2、numpy 的使用

    2.1 numpy 的创建:

    (1)使用 np.array() 创建

    使用 array() 创建一维数组

    import numpy as np
    arr = np.array([1,2,3])
    arr
    
    image.png

    (2)使用array()创建二维数组

    arr = np.array([[1,2,3],[4,5,6]])
    arr
    
    image.png

    (3)数组和列表的区别是什么?

    • 数组中存储的数据元素类型必须是统一类型
    • 优先级:
      • 字符串 > 浮点数 > 整数
    image.png

    2.2 numpy 的使用

    将外部的一张图片读取加载到numpy数组中,然后尝试改变数组元素的数值查看对原始图片的影响

    (1)使 matplotlib.pyplot 创建

    # 导入需要的模块
    import matplotlib.pyplot as plt
    img1 = plt.imread('1.jpg') # 返回的数组,数组中装载的就是图片内容
    plt.imshow(img1) #将numpy数组进行可视化展示
    
    image.png

    (2)将图片数组的每一个元素减去100

    img1 = img1 - 100  #将每一个数组元素都减去100
    plt.imshow(img1)
    
    image.png

    会发现的各个像素点都发生的变化。

    2.3 numpy的常用方法

    (1)ones() 创建一个用1填充的数组

    np.ones(shape=(3,4)) #创建一个3行4列的数组,用1填充
    
    image.png

    (2)linspace()一维的等差数列数组,num设置元素个数

    np.linspace(0,100,num=21)  #一维的等差数列数组
    
    image.png

    (3)arange()创建等差数列,step设置步长

    np.arange(10,20,step=2)  #创建一位的等差数列,一个10到20,步长为2的数组
    
    image.png

    (4)random.randint()创建随机数列

    np.random.randint(0,100,size=(5,4)) #创建一个5行4列元素在0到100之间的随机数组
    
    image.png

    2.4 numpy 的常用属性

    先创建一个numpy数组:

    arr = np.random.randint(0,100,size=(5,4)) #创建一个5行4列元素在0到100之间的随机数组
    arr 
    
    image.png

    (1)shape返回数组的形状

    arr.shape #返回数组的形状
    
    image.png

    (2)ndim返回数组中的维度

    arr.ndim #返回数组中的维度
    
    image.png

    (3)size返回数组的大小

    arr.size #返回数组的大小
    
    image.png

    (4)dtype 返回数组的元素类型

    arr.dtype #返回数组的元素类型
    
    image.png

    (5)type 返回数组的数据类型

    type(arr) #数组的数据类型
    
    image.png

    (6)创建一个数组,指定数组元素类型为int32

    arr = np.array([1,2,3],dtype='int32')
    arr.dtype
    
    image.png

    (7)修改数组元素类型

    arr.dtype = 'uint8'  #修改数组的元素类型
    arr.dtype
    
    image.png

    2.5 numpy 切片操作

    目标:

    • 切片操作
      • 切出前两列的数据
      • 切出前两行的数据
      • 切出前两行的前两列数据
      • 数组数据反转
      • 练习:将一张图片上下左右进行反转操作
      • 练习:将图片进行指定区域的裁剪

    (1)切出arr数组的前两行数据

    arr[0:2]
    
    image.png

    (2)切出arr数组的前两列数据

    arr[:,0:2]
    
    image.png

    (3)切出arr数组的前两行前两列数据

    arr[0:2,0:2]
    
    image.png

    (4)先查看原数组,然后将原数组进行行倒置

    arr
    
    image.png
    #将数组的行倒置
    arr[::-1]
    
    image.png

    (5)将数组的列导致

    arr[:,::-1]
    
    image.png

    (6)将所有元素倒置

    arr[::-1,::-1]
    
    image.png

    (7)将一张图片进行左右反转

    • 加载图片
    img2 = plt.imread('1.jpg')
    plt.imshow(img2)
    
    image.png
    • 查看图片数组形状,参数1:行数,参数2:列数,参数3:颜色。
    img2.shape
    
    image.png
    • 查看图片数组的元素
    img2
    
    image.png
    • 将图片左右进行反转
    plt.imshow(img2[:,::-1,:])
    
    image.png

    (8)对图片进行裁剪

    #图片裁剪功能
    plt.imshow(img2[200:550,100:450,:])
    
    image.png

    相关文章

      网友评论

        本文标题:02.numpy 的使用

        本文链接:https://www.haomeiwen.com/subject/ntiqwrtx.html