美文网首页
numpy使用

numpy使用

作者: 萌木盖 | 来源:发表于2018-12-25 00:09 被阅读0次

    import numpy as np

    • np.version
      • 导入numpy并查看版本

    np对象

    • np.array()

      • 括号内放入列表
    • nd.dtype

      • 数组中的元素的类型
    • 对象名.shape

      • 数据的形状
    • np.argwhere(workclass"Local-gov")

      • 找下标
    • np.ones(shape,dtype=None,order='C')

      • 创建元素为1的数组
      • 参数shape数据的形状传一个元组,元组的第0个元素代表第0维中的元素个数,依次类推
    • np.zeros(shape,dtype="float",order="C")

      • 创建元素为0的数组
      • 参数shape数据的形状传一个元组,元组的第0个元素代表第0维中的元素个数,依次类推
    • np.full(shape,fill_value,dtype=None)

      • 创建元素为fill_value的数组
      • 参数shape数据的形状传一个元组,元组的第0个元素代表第0维中的元素个数,依次类推
    • np.eye(N,M,k=0,dtype='float')

      • 对角线为1,其他为0的二维数组
    • np.linspace(start,stop,num=50)

      • 从开始到结束平均分成50份
    • np.arange([start,]stop,[step,]dtype=None) "[]"中是可选项

      • 开始到结束跳X
    • np.random.randint(low,high=None,size=None,dtype='I')

      • low下限 high上限 size形状(元组)
    • np.random.randn(d0,d1,...,dn)

      • 从第一维度到第n维度生成一个数组,数组中的数字符合标准正态分布
    • np.random.normal(loc=0.0,scale=1.0,size=None)

      • 非标准正态分布
    • np.random.random(size=None)

      • 生成0-1之间的浮点数

    属性

    • 变量名.ndim
      • 维度
    • 变量名.size
      • 大小
    • 变量名.shape
      • 形状
    • 变量名.dtype
      • 元素类型
    • 变量名.itemsize
      • 每项大小
    • 变量名.data
      • 数据
    • 变量名.reshape()
      • resize()和reshape()都是对数组进行变形,resize()是在原来数组上直接变形,reshape()生成一个新的数组
      • 变形的时候,新数组的总元素个数要和原来的保持一致
    • 变量名.resize()
      • resize()和reshape()都是对数组进行变形,resize()是在原来数组上直接变形,reshape()生成一个新的数组
      • 变形的时候,新数组的总元素个数要和原来的保持一致

    级联

    • np.concatenate([nd1,nd2],axis=1)
      • 参数一,参与级联的那些数组;参数二,级联的维度
    • np.hstack()
      • 把列数组改成一个行数组(把所有行上数组拼接成一个一行的数组)
    • np.vstack()
      • 把一个单行的数组拆成多行(每个行上只有一个数字)

    切分

    • np.split()
      • axis=0切行,1切列
    • np.vsplit()
      • 纵向上切分 参数和横向类似
    • np.hsplit()
      • 代表在水平方向切分
      • 参数一,被切的数组 参数二,切分点(列表,在切分点前切分)
    • 变量名.copy()
      • 用copy()函数对数组对象创建副本

    聚合操作

    • np.sum(nd,axis=0)
      • 0把行按照列标对应加起来
      • 1把列按照对应行标加起来
    • np.max(nd,axis=0)
      • 无axis,求所有和,结果为一个数组
      • 0求每个列里面最大值
      • 1求每一行里面的最大值
    • np.argmax(nd,axis=0)
      • 0在列上求最大值并返回最大值的行标
      • 1在每个行上求最小值返回列标
    • np.nansum(nd)
      • 以nan开头的聚合方法,可在聚合运算的直接把nan剔除
    • np.argsort(nd[:,3])
      • 排序并且返回排序以后的下标序列

    矩阵操作

    • np.dot(nd1,nd2)
      • 矩阵积

    排序

    • nd.sort()
      • 改变原来的数组
    • np.sort(nd)
      • 不会改变原来的数组,而是生成一个新的数组
    • 常用

    • np.meshgrid(xnums,ynums)
    In [65]: xnums =np.arange(4)
    In [66]: ynums =np.arange(5)
    In [67]: xnums
    Out[67]: array([0,1, 2, 3])
    In [68]: ynums
    Out[68]: array([0,1, 2, 3, 4])
    In [69]: data_list= np.meshgrid(xnums,ynums)
    In [70]: data_list
    Out[70]:
    [array([[0, 1, 2,3],
            [0, 1, 2, 3],
            [0, 1, 2, 3],
            [0, 1, 2, 3],
            [0, 1, 2, 3]]), array([[0, 0, 0, 0],
            [1, 1, 1, 1],
            [2, 2, 2, 2],
            [3, 3, 3, 3],
            [4, 4, 4, 4]])]
    
    • x.ravel()
    x = np.array([[1, 2], [3, 4]])
    >>> x.ravel()
    array([1, 2, 3, 4])
    
    • np.c_和np.r_

    import numpy as np
    a = np.array([1, 2, 3])
    b = np.array([4, 5, 6])
    c = np.c_[a,b]
    
    print(np.r_[a,b])
    print(c)
    print(np.c_[c,a])
    

    结果

    [1 2 3 4 5 6]
    
    [[1 4]
     [2 5]
     [3 6]]
    
    [[1 4 1]
     [2 5 2]
     [3 6 3]]
    

    相关文章

      网友评论

          本文标题:numpy使用

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