python numpy库介绍

目录
  • 1.NumPy( Numeric Python)
  • 2.numpy的引用
  • 3.Ndarray
    • 引入n维数组的意义
    • ndarray的组成
    • ndarray对象的属性
  • 3.数据类型
    • ndarray数组的创建
    • adarray数组的变换
    • ndarray数组运算
  • 4.索引与切片
  • 5.随机数函数
  • 6.统计函数
  • 7.梯度函数
  • 8.副本与视图
    • numpy线性代数
      • 数组与标量之间的运算
      • 常用numpy.linalg函数总结

1.NumPy( Numeric Python)

numpy是一个开源的python科学计算扩展库,主要用来处理任意维度数组和矩阵。
相同的任务,使用numpy比直接用python的基本数据结构更加简单高效。

它的功能:

  • 包含一个强大的N维数组对象Ndarray
  • 广播功能函数
  • 整合C/C++代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

numpyscipy,pandas等数据处理或科学计算库的基础

2.numpy的引用

虽说别名可以省略或者更改,但尽量使用上述约定的别名

3.Ndarray

n维数组,它是一个相同数据类型的集合,以0为下标开始进行集合中元素的索引。
我们知道,python有列表和数组此类的数据结构。

列表:数据类型可以不同(如[3, 2.4 ,‘a' ,“abc”]),数据是有序的
数组:数据类型相同(如[1,2,3,4])
集合: (如{2,4,3,5,7})数据是无序的

引入n维数组的意义

观察下列两组操作,其功能都是一样的。

import numpy as np

def pysum():
    a = [1, 2, 3, 4]
    b = [5, 6, 7, 8]
    c = []
    for i in range(len(a)):
        c.append(a[i]**2+b[i]**3)
    return c

def numpysum():
    a = np.array([1, 2, 3, 4])
    b = np.array([5, 6, 7, 8])
    c = a**2+b**3
    return c

print("使用列表运算的结果是:", pysum())
print("使用Numpy运算的结果是:", numpysum())

运行结果:

使用列表运算的结果是: [126, 220, 352, 528]
使用Numpy运算的结果是: [126 220 352 528]

但是很明显:

  • numpy的数组对象可以去掉元素建运算所需要的循环,使一维向量更像单个数据
  • numpy通过设立专门的数组对象,经过优化,运算速度也相应提升

通常情况下,在科学运算中,一个维度所有数据的类型往往相同,这时,使用数组对象采用相同的数据类型,有助于节省运算时间和存储空间

ndarray的组成

  • 实际的数据
  • 描述这些数据的元数据(数据维度、数据类型等)

ndarray对象的属性

3.数据类型

np.array()不指定dtype时,numpy将根据数据情况关联一个dtype类型

  • ndarray支持多种数据类型的原因
  • python基本语法只支持整数、浮点数和复数3种类型
  • 科学计算涉及数据较多,对存储和性能都有较高要求
  • 对元素类型精细定义,有助于numpy合理使用存储空间并优化性能
  • 对元素类型精细定义,有助于程序员对程序规模有合理评估

ndarray数组的创建

import numpy as np
x = np.array([[1, 0], [2, 0], [3, 1]], np.int32)
print(x)
print(x.dtype)

程序输出:

[[1 0]
 [2 0]
 [3 1]]
int32

adarray数组的变换

ndarray数组运算

4.索引与切片

  • 索引:获取数组中特定位置元素的过程
  • 切片:获取数组元素子集的过程

5.随机数函数

6.统计函数

7.梯度函数

8.副本与视图

numpy线性代数

数组与标量之间的运算

常用numpy.linalg函数总结

(好家伙,numpy内置函数太多了…)

(0)

相关推荐

  • 使用Python NumPy库绘制渐变图案

    目录 1. 导入模块 2. 基本绘画流程 3. 生成随机彩色图像 4. 生成渐变色图像 5. 在渐变色背景上画曲线 6. 使用颜色映射(ColorMap) 7. 展示NumPy的魅力 NumPy也可以画图吗?当然!NumPy不仅可以画,还可以画得更好.画得更快!比如下面这幅画,只需要10行代码就可以画出来.若能整明白这10行代码,就意味着叩开了NumPy的大门.请打开你的Python IDLE,跟随我的脚步,一起来体验一下交互式编程的乐趣吧,看看如何用NumPy画图,以及用NumPy可以画出什么

  • python基础之Numpy库中array用法总结

    目录 前言 为什么要用numpy 数组的创建 生成均匀分布的array: 生成特殊数组 获取数组的属性 数组索引,切片,赋值 数组操作 输出数组 总结 前言 Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数. NumPy数组是一个多维数组对象,称为ndarray.数组的下标从0开始,同一个NumPy数组中所有元素的类型必须是相同的. >>>

  • Python基础之numpy库的使用

    numpy库概述 numpy库处理的最基础数据类型是由同种元素构成的多维数组,简称为"数组" 数组的特点: 数组中所有元素的类型必须相同 数组中元素可以用整数索引 序号从0开始 ndarray类型的维度叫做轴,轴的个数叫做秩 numpy库的解析 由于numpy库中函数较多而且容易与常用命名混淆,建议采用如下方法引用numpy库 import numpy as np numpy库中常用的创建数组函数 函数 描述 np.array([x,y,z],dtype=int) 从Python列表和

  • Python常用库Numpy进行矩阵运算详解

    Numpy支持大量的维度数组和矩阵运算,对数组运算提供了大量的数学函数库! Numpy比Python列表更具优势,其中一个优势便是速度.在对大型数组执行操作时,Numpy的速度比Python列表的速度快了好几百.因为Numpy数组本身能节省内存,并且Numpy在执行算术.统计和线性代数运算时采用了优化算法. Numpy的另一个强大功能是具有可以表示向量和矩阵的多维数组数据结构.Numpy对矩阵运算进行了优化,使我们能够高效地执行线性代数运算,使其非常适合解决机器学习问题. 与Python列表相比

  • python扩展库numpy入门教程

    目录 一.numpy是什么? 二.numpy数组 2.1 数组使用 2.2 创建数组 1. 使用empty创建空数组 2. 使用arange函数创建 3. 使用zeros函数生成数组 4. ones函数生成数组 5. diag函数生成对角矩阵 6. N维数组 2.3 访问数组元素 三.了解矩阵 3.1 广播 一.numpy是什么? 扩展库numpy是Python支持科学计算的重要扩展库,是数据分析和科学计算领域如scipy.pandas.sklearn 等众多扩展库中的必备扩展库之一,提供了强大

  • python numpy库介绍

    目录 1.NumPy( Numeric Python) 2.numpy的引用 3.Ndarray 引入n维数组的意义 ndarray的组成 ndarray对象的属性 3.数据类型 ndarray数组的创建 adarray数组的变换 ndarray数组运算 4.索引与切片 5.随机数函数 6.统计函数 7.梯度函数 8.副本与视图 numpy线性代数 数组与标量之间的运算 常用numpy.linalg函数总结 1.NumPy( Numeric Python) numpy是一个开源的python科学

  • python numpy库介绍

    目录 1.NumPy( Numeric Python) 2.numpy的引用 3.Ndarray 引入n维数组的意义 ndarray的组成 ndarray对象的属性 3.数据类型 ndarray数组的创建 adarray数组的变换 ndarray数组运算 4.索引与切片 5.随机数函数 6.统计函数 7.梯度函数 8.副本与视图 numpy线性代数 数组与标量之间的运算 常用numpy.linalg函数总结 1.NumPy( Numeric Python) numpy是一个开源的python科学

  • Python numpy 模块介绍

    目录 1. numpy 简介 numpy 应用场景 numpy 模块安装 numpy 模块使用 2. numpy 特点 3. numpy 常用方法 4. 实例 前言: 在motplotlib的学习过程中,我们使用最多的就是numpy模块. numpy 模块被称为 matplotlib 模块绘制图表伴侣. xdm,接下来我们来对 matplotlib 伴侣-numpy 模块相关知识的学习 1. numpy 简介 numpy 模块是 Python 支持对大量数组进行科学计算的第三方库. numpy

  • Python Numpy库的超详细教程

    1.Numpy概述 1.1 概念 Python本身含有列表和数组,但对于大数据来说,这些结构是有很多不足的.由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.对于数值运算来说这种 结构比较浪费内存和CPU资源.至于数组对象,它可以直接保存 数值,和C语言的一维数组比较类似.但是由于它不支持多维,在上面的函数也不多,因此也不适合做数值运算.Numpy提供了两种基本的对象:ndarray(N-dimensional Array Object)和 ufunc(Universal Funct

  • Python Numpy库的超详细教程

    1.Numpy概述 1.1 概念 Python本身含有列表和数组,但对于大数据来说,这些结构是有很多不足的.由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.对于数值运算来说这种 结构比较浪费内存和CPU资源.至于数组对象,它可以直接保存 数值,和C语言的一维数组比较类似.但是由于它不支持多维,在上面的函数也不多,因此也不适合做数值运算.Numpy提供了两种基本的对象:ndarray(N-dimensional Array Object)和 ufunc(Universal Funct

  • 利用Python NumPy库及Matplotlib库绘制数学函数图像

    目录 前言 NumPy与Matplotlib 函数绘图 所需库函数语法 导入所需模块 一元一次函数 一元二次函数 指数函数 正弦函数 余弦函数 高级玩法 总结 前言 最近开始学习数学了,有一些题目的函数图像非常有特点,有一些函数图像手绘比较麻烦,那么有没有什么办法做出又标准又好看的数学函数图像呢? 答案是有很多的,有很多不错的软件都能画出函数图像,但是,我想到了Python的数据可视化.Python在近些年非常火热,在数据分析以及深度学习等方面得到广泛地运用,其丰富的库使其功能愈加强大. 这里我

  • python numpy库中数组遍历的方法

    1.对于一维数组,可以有: 2. 对于二维数组:考虑可将其看作为矩阵,故可以如下书写二重遍历 这里外层循环的是二维数组A的行,内层则是列 同时c的作用:不想用肉眼直接观察得到行列数,故用A.shape方法获得(2,6)的元组,然后改变数据类型为列表,然后直接使用. 3.对于三维数组,如: 有两个二维数组,二维数组中又有三个长度为4的数组.可以这样子循环: 又len(f) = 2, len(f[0]) = 3, len(f[0][0]) = 4;故可以再一次改进代码,这里就不写了. f[0]:三维

  • Python Numpy库安装与基本操作示例

    本文实例讲述了Python Numpy库安装与基本操作.分享给大家供大家参考,具体如下: 概述 NumPy(Numeric Python)扩展包提供了数组功能,以及对数据进行快速处理的函数. NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用. 安装 通过pip安装numpy pip install numpy Numpy基本操作 >>> import numpy as np #一般以np作为numpy的别名 >>&

  • Python Numpy库常见用法入门教程

    本文实例讲述了Python Numpy库常见用法.分享给大家供大家参考,具体如下: 1.简介 Numpy是一个常用的Python科学技术库,通过它可以快速对数组进行操作,包括形状操作.排序.选择.输入输出.离散傅立叶变换.基本线性代数,基本统计运算和随机模拟等.许多Python库和科学计算的软件包都使用Numpy数组作为操作对象,或者将传入的Python数组转化为Numpy数组,因此在Python中操作数据离不开Numpy. Numpy的核心是ndarray对象,由Python的n维数组封装而来

  • python numpy库linspace相同间隔采样的实现

    linspace可以用来实现相同间隔的采样: numpy.linspace(start,stop,num=50,endpoint=True,retstep=False, dtype=None) 返回num均匀分布的样本,在[start, stop]. Parameters(参数): start : scalar(标量) The starting value of the sequence(序列的起始点). stop : scalar 序列的结束点,除非endpoint被设置为False,在这种情

随机推荐