zoukankan      html  css  js  c++  java
  • NumPy学习

    一、NumPy介绍

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

    NumPy是一个开源的Python科学数据库,用于快速处理任意维度的数据。NumPy支持常见的数组和矩阵操作,使用NumPy比直接使用Python计算要简洁、快速很多。

    NumPy是使用一个ndarray(N维数组)对象处理多维数组,该对象是一个快速灵活运算的大户数据容器。

    二、效率问题

    ndarray与python列表内存的区别:

    ndarray中所有的元素类型相同,存储数据的地址是连续的,使得操作数组元素时速度快。

    python列表中元素类型是任意的,不确定的,是采用分离式技术实现的动态顺序表,每个元素需要通过寻址方式找下一个元素。

    三、ndarray(N维数组)介绍

    ndarray属性

    属性名字 属性解释
    ndarray.shape 数组维度的元组
    ndarray.ndim 数组维数
    ndarray.size 数组中的元素数量
    ndarray.itemsize 一个数组元素所占内存大小(字节)
    ndarray.dtype 数组元素类型

    四、生成数组方式

    4.1生成0和1数组

    np.ones

    np.ones_like

    np.zeros

    np.zeros_like

    4.2从现有数组生成

    np.array

    np.asarray(如果参数是使用ndarray数组,则类似浅拷贝,修改源ndarray内容,np.asarray生成的素组也会变化)

    import numpy as np
    
    a = np.array([1, 2, 3])
    a1 = np.asarray(a)
    a2 = np.array(a)
    print("------------修改前---------")
    print(a1)
    print(a2)
    print("------------修改后---------")
    a[0] = 1000
    print(a1)
    print(a2)

    ------------修改前---------
    [1 2 3]
    [1 2 3]
    ------------修改后---------
    [1000    2    3]
    [1 2 3]

    4.3生成固定范围的数组

    np.linspace(start, stop, num, endpoint)

    start:序列起始值

    stop:序列终止值

    num:要生成的等间隔样例数量

    endpoint:序列中是否包含stop值,,默认为True

    np.arange(start, stop, step, dtype)

    start:序列起始值

    stop:序列终止值

    step:每次间隔多少生成数组元素

    dtype:数组元素类型

    4.4生成随机数组

    np.random模块

    均匀分布

    np.random.rand

    返回(0, 1)内的一组均匀分布的数

    np.random.uniform(low, high, size)

    从一个均匀分布(low, high]中随机采样

    size为数组样本数目,为int或元组(tuple)类型

    正态分布

    np.random.randn

    从标准正态分布中返回一个或多个样本值

    np.random.normal(loc, scale, size)

    loc:均值

    scale:标准差

    size:输出形状

    np.random.stand_normal

    返回指定形状的标准正态分布的数组

    数组形状修改:

    ndarray.reshape

    不改变数组元素,返回一个shape形状的数组,原数组不变

    ndarray.resize

    与.reshape()功能一致,但修改原数组

    ndarray.T

    求数组的转置

    ndarray.astype

    类型修改

    np.unique

    数组的去重

    五、ndarray的运算

    通用判断函数

    np.all()----满足所有

    np.any()---满足任一

    np.where---三元运算符,

    np.where(a >0, 1, 0)

    np.logical_and---逻辑与

    np.logical_or---逻辑或

  • 相关阅读:
    暂存未看的网址
    学习springboot+shiro的实际应用demo
    mapper.xml 的配置
    使用idea搭建Spring boot+jsp的简单web项目
    一文读懂SpringCloud与Eureka,Feign,Ribbon,Hystrix,Zuul核心组件间的关系
    .net core mvc 类库读取配置文件
    .net Core 2.0应用程序发布到IIS上注意事项
    Dapper扩展
    C# 请求Https
    js 记录
  • 原文地址:https://www.cnblogs.com/xjlearningAI/p/14379923.html
Copyright © 2011-2022 走看看