zoukankan      html  css  js  c++  java
  • Numpy

    ndarray

    1.简介

      Numpy是高性能科学计算和数据分析的基础包,也是pandas等其他数据分析的工具的基础。

      NumPy为Python带来了多维数组功能,并且提供了丰富的函数库处理这些数组,且支持向量化运算,使得这些数学函数能够直接对数组进行操作。将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。

      安装方法:pip install numpy

    2、ndarray -多维数组对象

      Numpy的核心特征就是N-维数组对 -ndarray。先通过具体的实例来展示一下ndarray的优势。

    多维数组列表

    3.常用属性

    属性 描述
    T 数组的转置(对高维数组而言)
    dtype 数组元素的数据类型
    size 数组元素的个数
    ndim 数组的维数
    shape 数组的维度大小(以元组形式)


     

    4.数据类型

    类型 描述
    布尔值  bool_
    整型   int_ int8 int16 int32 int 64
    无符号整型   uint8 uint16 uint32 uint64
    浮点型   float_ float16 float32 float64
    复数型   complex_ complex64 complex128

    注意:1)无符号整型只能用来存正数,不能用来存负数。

       2)bool_,int_,float_之所以加下划线,是为了和python原生数据类型做区别。

       3)   astype()方法可以修改数组的数据类型。

    5.ndarray-创建

    方法

    描述

    array()

    将列表转换为数组,可选择显式指定dtype

    arange()

    range的numpy版,支持浮点数

    linspace()

    类似arange(),第三个参数为数组长度

    zeros()

    根据指定形状和dtype创建全0数组

    ones()

    根据指定形状和dtype创建全1数组

    empty()

    根据指定形状和dtype创建空数组(随机值)

    eye()

    根据指定边长和dtype创建单位矩阵

     6.索引和切片

    # 索引
    >>>np.array([0,1,2,3,4,5])
    array([0,1, 2, 3, 4, 5])
    ----------------------------------------------
    >>>li.reshape(6)
    array([0, 1, 2, 3, 4, 5])
    ----------------------------------------------
    >>>li = np.arange(6).reshape(2,3)    # 把一维变成二维
    >>>li
    array([[0, 1, 2],
           [3, 4, 5]])
    # 现在有这样一组数据,需求:找到4
    列表写法:arr[1][1]
    数组写法:arr[1,1]  # 中间通过逗号隔开就可以了

    # 布尔型索引
    # 给一个数组,选出数组种所有大于5的数。
    li = [random.randint(1,10) for _ in range(30)]
    a = np.array(li)
    a[a>5]
    执行结果:
    array([10,  7,  7,  9,  7,  9, 10,  9,  6,  8,  7,  6])
    ----------------------------------------------
    原理:
    a>5会对a中的每一个元素进行判断,返回一个布尔数组
    a > 5的运行结果:
    array([False,  True, False,  True,  True, False,  True, False, False,
           False, False, False, False, False, False,  True, False,  True,
           False, False,  True,  True,  True,  True,  True, False, False,
           False, False,  True])
    ----------------------------------------------
    布尔型索引:将同样大小的布尔数组传进索引,会返回一个有True对应位置的元素的数组

    通用函数

      能对数组中所有元素同时进行运算的函数就是通用函数。

      常见通用函数:能够接受一个数组的叫做一元函数,接受两个数组的叫二元函数,结果返回的也是一个数组.

     1.一元函数

    函数

    功能

    abs、fabs

    分别是计算整数和浮点数的绝对值

    sqrt

    计算各元素的平方根

    square

    计算各元素的平方

    exp

    计算各元素的指数e**x

    log

    计算自然对数

    sign

    计算各元素的正负号

    ceil

    计算各元素的ceiling值

    floor

    计算各元素floor值,即小于等于该值的最大整数

    rint

    计算各元素的值四舍五入到最接近的整数,保留dtype

    modf

    将数组的小数部分和整数部分以两个独立数组的形式返回,与Python的divmod方法类似

    isnan

    计算各元素的正负号

    isinf

    表示那些元素是无穷的布尔型数组

    cos,sin,tan

    普通型和双曲型三角函数

     2.二元函数 

    函数

    功能

    add

    将数组中对应的元素相加

    subtract

    从第一个数组中减去第二个数组中的元素

    multiply

    数组元素相乘

    divide、floor_divide

    除法或向下圆整除法(舍弃余数)

    power

    对第一个数组中的元素A,根据第二个数组中的相应元素B计算A**B

    maximum,fmax

    计算最大值,fmax忽略NAN

    miximum,fmix

    计算最小值,fmin忽略NAN

    mod

    元素的求模计算(除法的余数)



    3.数学统计方法

    函数 功能
    sum 求和
    cumsum 求前缀和
    mean 求平均数
    std 求标准差
    var 求方差
    min 求最小值
    max 求最大值
    argmin 求最小值索引
    argmax 求最大值索引

    4.随机数

    随机数生成函数在np.random的子包当中

    函数 功能
    rand 给定形状产生随机数组(0到1之间的数)
    randint 给定形状产生随机整数
    choice 给定形状产生随机选择
    shuffle 与random.shuffle相同
    uniform 给定形状产生随机数组
  • 相关阅读:
    linux 安装 Chrome
    J2EE版本
    Java 源码解析之局部变量检查
    /etc/xinetd.conf 和 /etc/xinetd.d/*【新网络服务配置】
    Linux 内核编译
    linux 汇编
    /etc/ethers【地址映射】
    Linux LAMP 搭建
    Linux ftp 使用
    linux apache
  • 原文地址:https://www.cnblogs.com/blue-tea/p/11975871.html
Copyright © 2011-2022 走看看