zoukankan      html  css  js  c++  java
  • 人工智能-机器学习之numpy方法

    机器学习 最重要的东西就是算法   这里面的水很深  所以呢我就简单的整理了一下
    基础的操作
     
     
    #导入numpy库 as别名 为了怕重名
    import numpy as np
    # 打印版本号
    print(np.version.version)
    #声明一个numpy数组 ,一维数组
    nlist = np.array([1,2,3])
    print(nlist)



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



    # 声明一个二维数组
    nlist_2 = np.array([[1,2,3],[4,5,6]])
    print(nlist_2)
    print(nlist_2.ndim)
    #使用shape属性来打印多维数组的形状
    print(nlist.shape)
    print(nlist_2.shape)
    #使用size方法来打印多维数组的元素个数
    print(np.size(nlist))
    print(np.size(nlist_2))
    #打印numpy多维数组的数据类型
    #打印普通list
    print(type([1,2,3]))
    print(type(nlist))



    #使用dtype属性来打印多维数组内部元素的数据类型
    print(type(123))
    print(nlist.dtype)
    #itemsize属性,来打印多维数组中的数据类型大小,字节
    print(nlist.itemsize)
    print(nlist_2.itemsize)
    #data属性,用来打印数据的缓冲区 buffer
    print(nlist.data)
    #使用reshape方法来反向生成多维数组 第一个数字是几维数组的,第二个数字是2行,第三个数字是4列
    nlist_3 = np.array(range(24)).reshape((3,2,4))
    nlist_4 = np.array(range(32)).reshape((4,2,4))
    print(nlist_3)
    print(nlist_4)
    #使用浮点作为元素类型
    nlist_float = np.array([1.0,2.0,3.0])
    print(nlist_float.dtype)
    #使用字符串
    nlist_string = np.array(['1','2','3'])
    print(nlist_string.dtype)




    #四维数组
    nlist_4 = np.array(range(20)).reshape((5,2,2,1))
    print(nlist_4)
    print(nlist_4.ndim)
     
    #声明一个size为20的四维数组
    nlist_4 = np.array(range(20)).reshape((1,2,5,2))
    print(nlist_4)

    #声明一个3*3的数组
    nlist_33 = np.array([[1,2,3],[4,5,6],[2,3,6]])
    #属性
    print(nlist_33)
    print(nlist_33.shape)
    print(nlist_33.ndim)
    print(nlist_33.size)
    #方法
    print(np.size(nlist_33))
    print(np.shape(nlist_33))
    print(np.ndim(nlist_33))


    #自动生成元素为1的多维数组,使用ones方法
    nlist_ones = np.ones((4,4))
    print(nlist_ones)
    print(nlist_ones.dtype)


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

    #使用empty方法来生成随机多维数组 使用第二个参数来指定数据类型
    nlist_empty = np.empty([2,2],dtype=np.int)
    print(nlist_empty)
    print(nlist_empty.dtype)


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

    #frombuffer 通过字符串(buffer内存地址)切片来生成多维数组
    my_str = b'Hello World'
    nlist_str = np.frombuffer(my_str,dtype='S1')
    print(nlist_str)


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

    #指定axis属性可以指定当前多维数组的维度 axis=0 列级相加 ,keepdims=True 保持维度
    sum0 = np.sum(x,axis=0,keepdims=True)
    print(sum0)

    # axis = 1 行级相加
    sum1 = np.sum(x,axis=1,keepdims=True)
    print(sum1)


    #多维数组赋值
    x = np.array([1,2])
    y = x.copy()
    y[0] = 3
    # x[0] = 3
    print(x)


    #维度级的运算
    a = np.array([[1,2],[3,4],[5,6]])
    b = np.array([[10,20],[30,40],[50,60]])

    #使用vstack方法 列级添加
    suma = np.vstack((a,b))
    print(suma)

    #hstack方法 行级添加
    sumb = np.hstack((a,b))
    print(sumb)

    #多维数组的调用
    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第二行
    nlist = np.delete(nlist,1,axis=0)
    print(nlist)
    nlist = np.delete(nlist,0,axis=1)
    print(nlist)
     
    这些只是一部分基础方法和算法   
    想学的精的话只能自己慢慢摸索了 ,  胜利就在前方 ,加油!!
  • 相关阅读:
    PHP序列化和反序列化
    移动端纯css超出盒子出现横向滚动条
    css3盒子flex
    css怎么设置2个div同行,第一个固定宽度,第二个占满剩余的部分
    PHP对象基础
    常用header头
    【转载】文件上传那些事儿,文件ajax无刷上传
    简单工厂模式(Simple Factory Pattern)
    单例模式(singleton)
    UML类图
  • 原文地址:https://www.cnblogs.com/weifeng-888/p/10479573.html
Copyright © 2011-2022 走看看