知行迭代
导航
首页
最近更改
随机页面
常用
分类目录
Linux命令
Mediawiki常用
电脑技巧
工具
链入页面
相关更改
特殊页面
页面信息
登录
查看“NumPy”的源代码
←
NumPy
页面
讨论
阅读
查看源代码
查看历史
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:[
[1]
]
您可以查看和复制此页面的源代码。
NumPy是[[Python]]中科学计算的基本软件包。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 ==简介== ===时间轴=== ===安装=== ====pip安装==== pip install NumPy ====其他内置软件包==== 如果使用的是[[Anaconda]]等计算科学软件包,已经安装好了NumPy库。 ===导入NumPy=== 在脚本顶部导入,一般的NumPy导入方式如下: import numpy as np ==基础知识== === 数据类型 === == ndarray == NumPy提供了N维数组类型(N-dimensional array)即ndarray,它是NumPy的核心。这是一个表示多维度、同类型并且固定大小的数组对象。所有ndarray对象都有如下性质: * 数组的每个元素占用相同大小的内存块,并且所有块的解释执行方式都一样。 * 数组中每个元素 {{了解更多 | [https://numpy.org/doc/stable/reference/arrays.html Numpy 手册:数组对象] | [https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html Numpy 手册:ndarray对象] }} ===创建数组=== 常用创建数组方法: {| class="wikitable" ! 命令 ! 描述 ! 格式 ! 示例 |- | array() | 创建一个Numpy数组。 | numpy.array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0, like=None) | <code>np.array([1,2,3])</code> 返回array([1, 2, 3]),将Python数组(列表)转化为Numpy数组(ndarray)。 |- | arange() |等差数列的一维数组。 可指定区间和步长 | numpy.arange(start=0, stop, step=1, dtype=None, *, like=None) |可指定区间和步长,区间左闭右开。 <code>np.arange(2)</code> 返回array([0, 1]) <br \><code>np.arange(6,11,step=2)</code> 返回array([ 6, 8, 10]) |- | linspace() |等差数列的一维数组。 可指定区间和个数,区间左闭右闭。 | numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0) |<code>np.linspace(1,2,num = 2)</code> 返回array([1., 2.]) <br \><code>np.linspace(1,100,num = 3)</code> 返回array([ 1. , 50.5, 100. ]) |- | random.randint() | 随机整数的一维数组。可指定区间和个数,区间左闭右开。 | random.randint(low, high=None, size=None, dtype=int) | <code>np.random.randint(0,100,size = 10)</code> 返回有10个元素的一维数组,值为0到100(不包含)的随机整数。 |- | random.rand() | 指定形状的数组,值为0到1之间均匀分布的随机值(左闭右开) | random.rand(d0, d1, ..., dn) | <code>np.random.randint(2,3)</code> 返回一个形状2x3的随机数组。 |- | random.randn() | 指定形状的数组,值为标准正态分布随机值。 | random.randn(d0, d1, ..., dn) | <code>np.random.randn(2,3)</code> 返回一个形状2x3的随机数组。 |- | random.standard_normal() | 指定形状的数组,值为标准正态分布随机值。与random.randn()函数类似,参数不同。 | random.standard_normal(size=None) | <code>np.random.standard_normal(size=(2,3))</code> 返回一个形状2x3的随机数组。 |- | random.normal() | 指定形状的数组,值为正态分布随机值。loc设置正态分布均值,scale设置标准差。 | random.normal(loc=0.0, scale=1.0, size=None) | <code>np.random.normal(loc=80, scale=6, size=(3,60))</code> 返回一个形状3x60的随机数组。 |- | ones() | 返回一个使用1填充的并按指定形状和数据类型生成的新数组。 | numpy.ones(shape, dtype=None, order='C', *, like=None) | <code>np.ones(2)</code> 返回array([1., 1.]),是一维有2个元素的数组。<br \><code>np.ones((2,3))</code> 返回二维每维有3个元素的数组。 |- | ones_like() | 返回一个使用1填充,形状和数据类型与给定数组一样的新数组。 | numpy.ones_like(a,dtype = None,order ='K',subok = True,shape = None ) | <code>np.ones_like(nd1)</code> 返回一个数组形状和数据类型与nd1一样,值使用1填充。 |- | zeros() | 返回给定形状和类型的新数组,并用0填充。 | numpy.zeros(shape, dtype=float, order='C', *, like=None) | <code>np.zeros(2)</code> 返回array([0., 0.]),是一维有2个元素的数组。<br \><code>np.zeros((2,3))</code> 是二维每维有3个元素的数组。 |- | zeros_like() | 返回一个使用0填充,形状和数据类型与给定数组一样的新数组。 | numpy.zeros_like(a, dtype=None, order='K', subok=True, shape=None) | <code>np.zeros_like(nd1)</code> 返回一个数组形状和数据类型与nd1一样,值使用0填充。 |- | full() | 返回给定形状和类型的新数组,并用fill_value填充。 | numpy.full(shape, fill_value, dtype=None, order='C', *, like=None) | <code>np.full((2,3),fill_value=3.14)</code> 返回形状为2x3,值为3.14的数组 |- | full_like() | | numpy.full_like(a, fill_value, dtype=None, order='K', subok=True, shape=None) | |- | empty() | | | |- | empty_like() | | | |} {{了解更多 | [https://numpy.org/doc/stable/reference/routines.array-creation.html Numpy 手册:数组创建示例] | [https://numpy.org/doc/stable/reference/random/index.html Numpy 手册:随机数] }} ===数组属性=== 常用属性: {| class="wikitable" style="width: 100%; ! 属性 ! 描述 |- | ndarray.shape | 数组形状 |- | ndarray.ndim | 数组的维数 |- | ndarray.size | 数组尺寸,即维数乘以每维元素个数。 |- | ndarray.dtype | 数组元素的数据类型。 |- | ndarray.itemsize | 一个数组元素的长度(以字节为单位)。 |} {{了解更多 | [https://numpy.org/doc/stable/reference/arrays.ndarray.html#array-attributes Numpy 手册:数组属性] }} ===复制和视图=== ===输入输出=== {| class="wikitable" ! 命令 ! ! 格式 ! 描述 |- | load() | 加载.npy或.npz文件,当加载含有多个数组的npz文件时,加载后使用['存储的某个键']获取某个数组。 | numpy.load(file,mmap_mode = None,allow_pickle = False,fix_imports = True,encoding ='ASCII' ) | <code>np.load('test.npz')['np2']</code>。 |- | save() | 将数组保存到.npy文件。 | numpy.save(file, arr, allow_pickle=True, fix_imports=True) | <code>np.save('test.npy', np2)</code> 保存np2数组到当前文件夹的test.npy中。 |- | savez() | 将多个数组以未压缩.npz格式保存到单个文件中。 | numpy.savez(file, *args, **kwds) | <code>np.savez('123.npz', a=a, np2=np2)</code> 保存a和np2两个数组到123.npz文件中<br \> |- | savez_compressed() | 将多个数组以压缩.npz格式保存到单个文件中。 | numpy.savez_compressed(file, *args, **kwds) | |- | loadtxt() | 从文本文件读取数组。 | numpy.loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes', max_rows=None, *, like=None) | <code>np.loadtxt('test.txt',delimiter=',')</code> 读取test.txt文件中的数组,分隔符为','。 |- | savetxt | 将数组保存到文本文件。 | numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None) | <code>np.savetxt('test.txt', nd1, fmt='%0.2f', delimiter=',')</code> 保存nd1数组到test.txt文件中,格式为'%0.2f',分隔符为',' |} {{了解更多 |[https://numpy.org/doc/stable/reference/routines.io.html Numpy 手册:输入输出] }} ==索引== ==广播== ==通用函数== 通用函数(Universal functions),简称ufunc,是一种ndarrays以逐个元素的方式运行的函数,支持数组广播,类型转换和其他几个标准功能。也就是说,ufunc是函数的“向量化”包装器,该函数采用固定数量的特定输入并产生固定数量的特定输出。 {{了解更多|[https://numpy.org/doc/stable/reference/ufuncs.html Numpy 手册:通用函数]}} ===数学运算=== ===三角函数=== ===位运算函数=== ===比较函数=== ==资源== ===官网=== *Numpy 官网:https://numpy.org/ *Numpy 文档:https://numpy.org/doc/stable/ *Numpy 手册:https://numpy.org/doc/stable/reference/index.html *Github 主页 :https://github.com/numpy/numpy ===教程=== *[https://www.runoob.com/numpy/numpy-tutorial.html 菜鸟教程:Numpy ] *[https://www.numpy.org.cn/ numpy.org.cn:Numpy 文档翻译] ===书籍=== *《利用Python进行数据分析》 - 韦斯·麦金尼 ===文章=== *[https://zh.wikipedia.org/wiki/NumPy 维基百科:NumPy] [[分类:数据分析]]
本页使用的模板:
模板:了解更多
(
查看源代码
)
返回至“
NumPy
”。