美文网首页Python数据分析
小白怎么开始学python-Numpy数组篇

小白怎么开始学python-Numpy数组篇

作者: 偶余杭 | 来源:发表于2021-06-19 15:26 被阅读0次

    数组是python的主角之一,以下会记录数组的创建方法和应用

    Numpy——用它来进行数组创建

    在开始之前先来了解Numpy,NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

    Numpy怎么安装呢?
    最简单的方法是下载以下的 Python 发行版,它们包含了所有的关键包(包括 NumPy,SciPy,matplotlib,IPython,SymPy 以及 Python 核心自带的其它包)
    由于我们已经安装了 Anaconda: 免费 Python 发行版,所以自带了Numpy,不用另外安装了。

    如果没有安装Numpy,可以通过以下pip语句安装:

    //安装
    ! pip install numpy
    //导入
    import numpy as np 
    

    创建一个 ndarray(N维数组) 只需调用 NumPy 的 array 函数即可:
    numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
    参数说明:
    object 数组或嵌套的数列
    dtype 数组元素的数据类型,可选
    copy 对象是否需要复制,可选
    order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
    subok 默认返回一个与基类类型一致的数组
    ndmin 指定生成数组的最小维度

    数组产生

    数组产生方法:

    • 通过list
    • 通过tuple
    • 通过list of list
    • 通过list of tuple
    • 通过function
      • arange-等差数组
      • linspace-等差数组
      • logspace-等比数组
      • zeros-全0数组
      • ones-全1数组
      • random-随机数组

    自定义数组

    #引入numpy
    import numpy as np;
    #list产生数组
    np.array([3,2])
    #list of list
    np.array([[3,2]])
    #二维list
    np.array([3,2],ndmin=2)
    #tuple
    np.array((3,2))
    #二维list
    np.array((3,2),ndmin=2)
    #二维数组
    np.array([[3,2],[3,4]])
    np.array([(2,3),(3,4)])
    #设置数据类型
    np.array([[1,2],[3,4]],dtype='float')
    np.array([[1,2],[3,4]],dtype='str')
    
    

    等差数组

    1、使用arange函数,参数为开始、结束、等差值


    image.png

    使用reshape函数可以设置维度,参数为行数、列数


    image.png
    当列数为-1时,自动计算适配,不用我们自己计算
    image.png

    设置数据类型


    image.png
    2、使用linspace设置等差数列,参数为开始、结束,数据个数
    image.png

    等比数列

    使用lospace设置等比数列,参数为开始、结束,数据个数,等比base(默认是10)


    image.png

    全0\1数组

    image.png

    随机数组

    image.png

    需要固定随机结果,设置seed:


    image.png

    随机生成正太分布数据


    image.png
    随机生成整数数据
    image.png

    数组属性

    ndarray.ndim 秩,即轴的数量或维度的数量
    ndarray.shape 数组的维度,对于矩阵,n 行 m 列
    ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
    ndarray.dtype ndarray 对象的元素类型
    ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
    ndarray.flags ndarray 对象的内存信息
    ndarray.real ndarray元素的实部
    ndarray.imag ndarray 元素的虚部
    ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。

    image.png

    数组转置


    image.png

    数据选择

    一维数组选择


    image.png
    • 索引选择


      image.png
    • 切片选择:切出一部分,参数:头索引、尾索引,间隔


      image.png

    多维数组选择


    image.png
    • 索引选择


      image.png
    • 切片选择
      注意:冒号和三个省略号作用一致


      image.png

    条件选择

    image.png

    数组计算

    image.png
    a=np.array([[1,2,3,4],[5,6,7,8]])
    #求和
    np.sum(a)
    #按行求和
    np.sum(a,axis=1)
    #按列求和
    np.sum(a,axis=0)
    #累积求和
    np.cumsum(a)
    #按行累积
    np.cumsum(a,axis=1)
    #求均值
    np.mean(a)
    #按行求均值
    np.mean(a,axis=1)
    #求均值
    np.average(a)
    #加权求均值
    np.average(a,axis=1,weights=[1,2,3,4])
    #求中位数
    np.median(a)
    #按行求中位数
    np.median(a,axis=1)
    #求百分位数
    np.percentile(a,q=[50,100])
    #求方差
    np.var(a)
    #求标准差
    np.std(a)
    #求最小值
    np.min(a)
    #求最大值
    np.max(a)
    #按列求最小值
    np.min(a,axis=0)
    #求最大值索引
    np.argmax(a)
    #四舍五入
    np.round([1.3,4.5,3.9])
    np.floor([1.3,4.5,3.9])
    np.ceil([1.3,4.5,3.9])
    #排序
    np.sort(a)
    #倒序
    -np.sort(-a)
    #选择
    np.where(a>50,">50",'<=50')
    #提取
    np.extract(a>50,a)
    

    数组拷贝

    • 深拷贝:copy函数,修改拷贝数组,不会影响原来的数组


      image.png
    • 浅拷贝:view函数,拷贝出来的数组,被修改会同时修改原来的数组


      image.png
      image.png
      image.png

    数组展开和合并

    • 二维数组展开成1维数组
    • flat属性展开
      flatten方法展开(可以有order属性,order='C'按行展开(默认),order='F'按列展开)


      image.png
      image.png
      image.png
    • 两个数组合并:按行合并(hstack函数,两个数组必须维度相同)


      image.png

    String基本操作

    • 大小写


      image.png
    • 分割合并
      使用char包中的split函数分割,默认空格分割


      image.png

      使用join函数合并


      image.png
    • 寻找替换


      image.png
      image.png

    数据保存

    • 单文件保存,npx


      image.png
      image.png
    • 多文件保存,npz


      image.png
      image.png
      image.png
      image.png
    • txt保存


      image.png
      image.png

    相关文章

      网友评论

        本文标题:小白怎么开始学python-Numpy数组篇

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