💻 Python Numpy库

NumPy

简介

什么是numpy

Numpy(Numerical Python) 是 Python 语言的一个扩展程序库,用于科学计算,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。
Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据集容器。

numpy优势和应用场景

优势:

  • 性能优越
    • 底层用C语言实现,运算速度快
    • 向量化运算,避免使用Python循环
    • 内存使用效率高
  • 数据结构优化
    • ndarray对象支持多维数组操作
    • 内存连续存储,访问效率高
    • 支持广播机制,便于数组间运算
  • 功能丰富
    • 提供大量数学函数和运算操作
    • 支持线性代数运算
    • 具有强大的数组索引和切片功能

应用场景

  • 科学计算
  • 数据分析
  • 机器学习
  • 深度学习

安装和导入NumPy

# 安装
pip install numpy

# 导入
import numpy as np

ndarray数组

是什么

Numpy最重要的一个特点就是其N维数组对象,该对象是一个快速而灵活的大数据集容器,描述了相同类型的元素集合。

创建数组

  • np.array()

基本创建。

np.array([1,2,3,4,5])
  • np.zeros()

用于创建一个全0的数组。


  • np.ones()

用于创建一个全1的数组。

ndarray = np.ones(5)
  • np.arange()

  • np.linespace()

数组属性

  • shape

  • dtype

  • size

  • ndim

数组的索引和切片

数组的变形

  • reshape()

  • resize()

  • flatten()

  • revel()

数组的拼接

  • np.concatenate()

  • np.vstack()

  • np.hstack()

数组的分隔

  • np.split()

  • np.vsplit()

  • np.hsplit()

数组操作

数学运算

  • 加减乘除

  • 矩阵乘法

    • np.dot()

    • @

  • 广播机制

统计函数

  • np.sum()

  • np.mean()

  • np.min()

  • np.max()

  • np.std()

逻辑操作

  • np.where()

  • np.any()

  • np.all()

排序和搜索

  • np.sort()

  • np.argsort()

  • np.argmax()

  • np.argmin()

去重和集合操作

  • np.unique()

  • np.intersect1d()

  • np.union1d()

随机数生成

随机数模块

  • np.random

生成随机数

  • np.random.rand()

  • np.random.randn()

  • np.random.randint()

随机分布

  • 均匀分布

  • 正态分布

  • 泊松分布

随机种子

  • np.random.seed()

线性代数

矩阵操作

  • np.linalg.inv() 逆矩阵

  • np.linalg.det() 行列式

  • nplinalg.eig() 特征值和特征向量

解线性方程组

  • np.linalg.solve()

矩阵分解

  • np.linalg.qr()

  • np.linalg.svd()

文件操作

保存和加载数组

  • np.save()

  • np.load()

  • np.savetext()

  • np.loadtxt()

高级功能

广播机制 boardcasting

向量化操作

结构化数组

掩码数组 Masked Arrays

【参考】

官网

https://numpy.org/doc/stable/

w3cschools

https://www.w3schools.com/python/numpy/numpy_intro.asp

youtube

https://www.youtube.com/results?search_query=numpy+tutorial