• 数据分析(二)numpy


    一.numpy简介

    Numpy是高性能科学计算和数据分析的基础包。它也是pandas等其他数据分析的工具的基础,基本所有数据分析的包都用过它。NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都支持向量化运算,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。

    安装

    pip3 install numpy

    使用

    import numpy as np

    这是官方认证的导入方式,可能会有人说为什么不用from numpy import *,是因为在numpy当中有一些方法与Python中自带的一些方法,例如maxmin等冲突,为了避免这些麻烦大家就约定俗成的都使用这种方法。

    二.numpy的优势

    Numpy的核心特征就是N-维数组对——ndarray.

    1.购物车数量和价格的相乘

    原生列表不支持直接相乘,需要进行for循环等操作,而转换为ndarray之后就可以直接操作

    我们也可以使用方法直接求和

    其他的一些操作

    三.ndarray是一个多维数组列表对象

    有的人可能会说了,这个数组跟Python中的列表很像啊,它和列表有什么区别呢?

    • 数组对象内的元素类型必须相同
    • 数组大小不可修改

    多维数组之间的转换reshape

    四.常用属性

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

    五.数据类型

    dtype

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

    其中后面带下划线的都是为了和原生python中的类型区分,不带下划线的python中没有该类型,所以可以不带

    整型:
    int32只能表示(-2**31,2**31-1),因为它只有32个位,只能表示2**32个数
    
    无符号整型:
    只能用来存正数,不能用来存负数
    
    补充:
    astype()方法可以修改数组的数据类型

    六.ndarray的创建

    ndarray的基础方法

    array():将列表转换为数组,可选择显式指定dtype
    
    arange():range的numpy版,支持浮点数
    
    alinspace():类似arange(),第三个参数为数组长度
    
    zeros():根据指定形状和dtype创建全0数组
    
    ones():根据指定形状和dtype创建全1数组
    
    empty():根据指定形状和dtype创建空数组(随机值)
    
    eye():根据指定边长和dtype创建单位矩阵

    使用代码示例

    当在使用时不知道如何使用可以查看他们的帮助(相当于源码)

    方法:np.eye(需要使用的方法)+?

    七.索引和切片

    1.索引

    2.切片

    3.布尔型索引

    现在有这样一个需求:给一个数组,选出数组种所有大于5的数。

    4.花式索引

    八.通用函数

    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 给定形状产生随机整数
    chocie 给定形状产生随机选择
    shuffle 与random.shuffle相同
    uniform 给定形状产生随机数组

      98

  • 相关阅读:
    GPU编程和流式多处理器(七)
    GPU编程和流式多处理器(六)
    vue——使用vant轮播组件swipe + flex时,文字抖动问题
    golang 修改字符串
    Go 彻底弄懂return和defer的微妙关系
    Redis 的持久化机制
    Redis 缓存击穿
    Redis 缓存穿透
    Redis 雪崩
    正则验证
  • 原文地址:https://www.cnblogs.com/sxchen/p/11973803.html
Copyright © 2020-2023  润新知