python之numpy包解析

本文详细解析了Python科学计算库numpy,涵盖其包含的N维数组对象、数学计算、逻辑运算、维度处理等多个方面,并对比了numpy数组与Python序列的区别。介绍了numpy的主要功能,包括创建、操作和分析数组的方法,以及与其他科学计算库的整合。
摘要由CSDN通过智能技术生成

1. 概述

1.1 numpy包含范围

numpy是基于python的科学计算包,其中包含:

  • N维数组对象
  • 复杂的函数
  • C/C++与Fortran代码集成工具
  • 如傅里叶变换、随机数生成函数等实用的线性代数

1.2 numpy的类别

numpy根据不同的用途可以分为以下几个类别

  • 数学计算
  • 逻辑计算
  • 维度处理
  • 分类
  • 筛选
  • IO
  • 离散傅里叶变换
  • 基本的线性代数
  • 基本的统计参数计算
  • 随机数模拟

1.3 numpy数组与python序列的区别

  • numpy数组大小固定,变化数组大小产生新的数组并删除原来数组;python序列动态增长
  • numpy数组中元素类型一致;python可以不一致
  • numpy可以进行更高级别的数学函数计算,效率更高
  • 当前大多数的第三方科学与数学计算包支持numpy

2.


numpy

  1. numpuy的主要对象是奇次多维数组
  2. ndarray.ndim:维数
  3. numpy矩阵间乘法是元素级别的,矩阵间计算使用@or dot函数

ndarray.shape:每维的大小

ndarray.size:总共大小

ndarray.dtype:描述元素的数据类型

ndarray.itemsize:元素所占几个字节

ndarray.data:每个对象存储的元素的buffer

array
ones
zeros
empty
arange

array, zeros, zeros_like, ones, ones_like, empty, empty_like, arange, linspace, numpy.random.Generator.rand, numpy.random.Generator.randn, fromfunction, fromfile
reshape

类内成员函数 sum max min等

通用函数
all, any, apply_along_axis, argmax, argmin, argsort, average, bincount, ceil, clip, conj, corrcoef, cov, cross, cumprod, cumsum, diff, dot, floor, inner, invert, lexsort, max, maximum, mean, median, min, minimum, nonzero, outer, prod, re, round, sort, std, sum, trace, transpose, var, vdot, vectorize, where

迭代
Indexing, Indexing (reference), newaxis, ndenumerate, indices

形状
ndarray.shape, reshape, resize, ravel
数组重新shape的时候,根据c-type
hstack, vstack, column_stack, concatenate, c_, r_
vsplit hsplip
view 浅拷贝 创建对象
copy 深拷贝 创建对象+数据

Array Creation
arange, array, copy, empty, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones, ones_like, r_, zeros, zeros_like

Conversions
ndarray.astype, atleast_1d, atleast_2d, atleast_3d, mat

Manipulations
array_split, column_stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, ndarray.item, newaxis, ravel, repeat, reshape, resize, squeeze, swapaxes, take, transpose, vsplit, vstack

Questions
all, any, nonzero, where

Ordering
argmax, argmin, argsort, max, min, ptp, searchsorted, sort

Operations
choose, compress, cumprod, cumsum, inner, ndarray.fill, imag, prod, put, putmask, real, sum

Basic Statistics
cov, mean, std, var

Basic Linear Algebra
cross, dot, outer, linalg.svd, vdot

通信问题 :

numpy 支持以下扩展
Pandas, SciPy, Matplotlib, scikit-learn, scikit-image
创建数组
np.array(), np.arange(), np.linspace(), dtype

拼接:np.sort(), np.concatenate(

数组大小:ndarray.ndim, ndarray.size, ndarray.shape reshape arr.reshape(), arr.transpose(), arr.T()

np.newaxis, np.expand_dims
five_up = (a >= 5)返回的数据类型是什么

从已知数据中创建数组 slicing and indexing, np.vstack(), np.hstack(), np.hsplit(), .view(), copy()
addition, subtraction, multiplication, division, and more

numpy 支持扩展,即两个维度不同的数组 进行 操作,同时numpy的数学操作均是元素间进行,如加减乘除
maximum, minimum, sum, mean, product, standard deviation, and more
生成随机数:

flatten(), ravel() flip max?

保存or读取 np.save, np.savez, np.savetxt, np.load, np.loadtxt

csv、matplotlib

ndarray 类
ndarray 数据类型 dtype

创建数组

函数名作用原型输入参数输出参数备注
np.zeros生成全是0的新矩阵zeros(shape,dtype=float,order=‘C’)shape:新数组的维度
dtype=float:数据类型
oreder=‘c’:c 或者 F,c指c语言的以行为主,F是指Fortran语言的以列为主
ndarray
np.ones生成全是1的新矩阵ones(shape,dtype=None,order=‘C’)shape:新数组的维度
dtype=None:数据类型
oreder=‘c’:c 或者 F,c指c语言的以行为主,F是指Fortran语言的以列为主
ndarray
np.empty生成全是未初始化的新矩阵ones(shape,dtype=float,order=‘C’)shape:新数组的维度
dtype=float:数据类型
oreder=‘c’:c 或者 F,c指c语言的以行为主,F是指Fortran语言的以列为主
ndarray使用前应该进行初始化
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值