• 机器学习三剑客之Numpy库基本操作


    NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!

    安装命令为:pip install numpy 

    编辑器中具体代码如下:

    #导入numpy 库
    import numpy as np


    #打印版本号
    # print(np.version.version)

    #声明一个numpy 一维数组
    nlist = np.array([1,2,3])
    print(nlist)

    #ndim方法用来查看数组维度
    print(nlist.ndim)

    print('==================')

    #声明一个二维数组
    nlist_2 = np.array([[1,2,3,4],[4,5,6,7]])
    print(nlist_2)
    print(nlist_2.ndim)

    print('==================')

    #使用shape 属性打印多维数组得形状
    print(nlist.shape)
    print(nlist_2.shape)

    print('==================')

    #使用size方法来打印多维数组得元素个数
    print(np.size(nlist))
    print(np.size(nlist_2))

    print('==================')

    #打印numpy多维数组得数据类型
    #打印普通list
    print(type([1,2,3]))
    print(type(nlist))

    print('==================')

    #使用dtype属性来打印多维数组内部元素得数据类型
    print(type(123))
    print(nlist.dtype)

    print('==================22222222222')

    #itemsize属性,来打印多维数组中得数据类型大小,字节
    print(nlist.itemsize)
    print('==================11111')

    #data属性,用来打印数据缓冲区 buffer
    print(nlist.data)

    print('==================')

    #声明三维数组
    nlist_3 = np.array([[[1,2,3],[4,5,6],[7,8,9,]]])
    print(nlist_3.ndim)

    print('==================')

    #使用reshape方法来反向生成多维数组
    nlist_4 = np.array(range(32)).reshape(4,2,2,2)
    print(nlist_4)
    print(nlist_4.ndim)
    print('==================')

    #使用浮点作为元素类型
    nlist_float = np.array([1.0,2.0,3.0])
    print(nlist_float.dtype)

    print('==================')

    #使用字符串
    nlist_string = np.array(['1','2','3'])
    print(nlist_string.dtype)

    print('==================')

    #使用ones方法 自动生成元素为1 的所谓数组

    nlist_ones = np.ones((4,4))
    print(nlist_ones)
    print((nlist_ones.dtype))

    print('==================')

    #使用zero来生成元素为0的数组
     
    nlist_zeros = np.zeros((4,4))
    print((nlist_zeros))
    print(nlist_zeros.dtype)

    print('==================')

    #使用 empty 生成多维随机数组,使用第二个参数指定数据类型

    nlist_empty = np.empty([2,2],dtype=np.int)
    print((nlist_empty))
    print(nlist_empty.dtype)
    print((nlist_empty.ndim))
    print('==================')

    #把普通list转换为数组
    x = [1,2,3]
    x = [(1,2,3),(4,5)]
    print(type(x))
    nlist = np.asarray(x)
    print(type(nlist))
    print(nlist.ndim)
    print(nlist.shape)

    print('==================')

    # frombuffer 通过字符串(buffer内存地址)切片来生成多维数组

    my_str = b'hello world'
    nlist_str = np.frombuffer(my_str,dtype='S1')
    print(nlist_str)

    print('==================')


    x = np.array([[1,2],[3,4]])
    print(x)


    #指定axis属性可以指定当前多维数组的维度 sum是跨维度列级求和
    sum0 = np.sum(x,axis=0,keepdims=True) # axis=0 是跨维度列级相加
    print(sum0)
    sum1 = np.sum(x,axis=1,keepdims=True) # axis = 跨维度行级相加
    print(sum1)

    print('==================')

    #多维数组赋值 根据列表下标原理
    y = np.array([1,2])
    z = y.copy()
    y[0] = 3
    y[1] = 3
    print(z)

    print('==================')

    #维度级的运算
    a = np.array([[1,2],[3,4],[5,6]])
    b = np.array([[11,21],[13,41],[15,61]])

    #vasack方法 (添加)
    suma = np.vstack((a,b))
    print(suma)

    #hstack方法(混和)

    sumb = np.hstack((a,b))
    print(sumb)

    print('==================222222222222222')

    #多维数组调用
    nlist = np.array([[1,2],[3,4],[5,6]])
    #取元素4
    print(nlist[1][1])
    #第二种写法
    print(nlist[1,1])
    #修改
    nlist[2,1] = 7
    print(nlist)

    #删除方法 delete
    # 删除nlist 第二行
    print('==================')

    print(np.delete(nlist,1,axis=0))
    print(np.delete(nlist,0,axis=1))
  • 相关阅读:
    PCB genesis方槽加内角槽孔实现方法
    PCB genesis连孔加除毛刺孔(槽孔与槽孔)实现方法(三)
    PCB genesis连孔加除毛刺孔(圆孔与槽孔)实现方法(二)
    PCB genesis连孔加除毛刺孔(圆孔与圆孔)实现方法(一)
    为什么要用Redis而不直接用Map做缓存
    Linux 查询端口被占用命令
    HashMap 和 Hashtable 的区别
    RandomAccess是什么
    接口和抽象类的区别是什么?
    为什么 Java 中只有值传递?
  • 原文地址:https://www.cnblogs.com/wjohh/p/10493385.html
Copyright © 2020-2023  润新知