• Numpy基本用法


    Numpy是一个科学计算库,其中提供的ndarray具有很多优势。

    ndarray的属性:

     

      在创建ndarray时,如果没有指定,会设定为int64或者float64类型

      创建时可以使用np.array([[1,2,3],[4,5,6]],dtype=np.float32),对ndarray的类型进行指定。

    生成数组的方法:

      1)生成0和1数组:

      np.zeros(shape,dtype)

      np.ones(shape,dtype)

      2)从已有的数组中生成ndarray

      np.array()      深拷贝

      np.asarray()  浅拷贝

      np.copy()    深拷贝

      3)生成固定范围的数组

      np.linspace(start,end,step)      数据范围是两边闭区间

      np.arange(start,end,step)   数据范围是左闭右开

      4)生成随机数组

      均匀分布:

      生成[0,1)范围内的一组均匀的数

      np.random.rand(d0,d1....dn)

      从一个均匀分布中随机采样

      np.random.uniform(low=0.0,high=1.0,size=None)

      返回值为ndarray类型,形状与参数size中描述的一致

      np.random.randint(low,high=None,size=None,dtype="l")

      从一个均匀分布中随机采样,生成一个整数或者N维整数数组。

      若high不为None,取[low,high),否则取[0,low)  

      正态分布:

      np.random.normal(loc=0.0,scale=1.0,size=None)

      loc:float 均值

      scale:float 标准差

      size:输出的shape

      返回值为指定的正态分布的数组

      5)形状修改

      ndarray.reshape(shape)

      不是直接改变行列,直接重新分组 返回新的ndarray,原始数据没有改

      ndarray.resize(shape)

      与上函数结果相同,但是不返回数组,直接在原数组上进行修改

      ndarray.T

      行列互换,进行转置运算

      6)类型修改

      ndarray.astype(type)

      进行类型的修改

      ndarray.tostring()

      ndarray序列化到本地

    数组间运算:

      1)数组与数的运算

      直接使用符号,符号可以作用到数中的每个元素。

      2)数组与数组的运算

      数组与数组之间的运算需要满足广播机制

          

      3)矩阵运算

      Numpy中存储矩阵的方法有两种:

      ①使用ndarray来存储矩阵

      ②使用matrix来存储矩阵

       np.mat(ndarray)

      矩阵乘法:

      np.matmul(ndarray1,ndarray2)

      np.dot(ndarray1,ndarray2)

      若用ndarray来存储矩阵,可以使用@运算符

      若用matrix来存储矩阵,可以使用*运算符

    合并与分割:

      1)合并:

      np.hstack() 

      水平拼接

      np.vstack()

      竖直拼接

      np.concatenate(axis)

      可以通过axis来执行进行竖直拼接或者水平拼接

      传入参数为tuple类型,包括要进行拼接的ndarray

      2)分割:

      np.split(ary,axis)

      传入分割的数组和分割的方向。

      也可以传入列表,表示分割的索引。

    IO操作:

      读取文件:

      np.genfromtxt(path,delimiter=",")

      前面传入文件路径,后面定义分割符号。

      numpy读取会将缺失值写为nan,同时字符串也会写为nan。

      nan数据可以通过两种方式进行处理:

      ①将存在nan的值直接删除。

      ②将nan的值进行替换。

      

      

      

  • 相关阅读:
    41.给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。
    Java反射学习记录
    LeetCode算法笔记-回溯法
    LeetCode算法笔记(二)
    LeetCode算法笔记(一)
    JDBC学习笔记--通用的查询方法
    JDBC学习笔记--ResultSetMetaData
    JDBC学习笔记--PreparedStatement
    Java学习笔记---字符串
    Java学习笔记---通过异常处理错误
  • 原文地址:https://www.cnblogs.com/zx931880423/p/11768174.html
Copyright © 2020-2023  润新知