NumPy is an open source numerical computing extension for Python. This tool can be used to store and process large matrices much more efficiently than Python's own nested list structure (which can also be used to represent matrices). NumPy (Numeric Python) provides many advanced numerical programming tools, such as matrix data types, vector processing, and sophisticated arithmetic libraries. Built for rigorous number crunching. It is mostly used by many large financial companies, as well as core scientific computing organizations such as Lawrence Livermore, and NASA uses it to handle some tasks that were originally done using C++, Fortran or Matlab.
The data type in numpy, ndarray type, is different from array.array in the standard library.
Creation of ndarray
>>> import numpy as np >>> a = np.array([2,3,4]) >>> a array([2, 3, 4]) >>> a.dtype dtype('int64') >>> b = np.array([1.2, 3.5, 5.1]) >>> b.dtype dtype('float64')
Two-dimensional array
>>> b = np.array([(1.5,2,3), (4,5,6)]) >>> b array([[ 1.5, 2. , 3. ], [ 4. , 5. , 6. ]])
Specify the type when creating
>>> c = np.array( [ [1,2], [3,4] ], dtype=complex ) >>> c array([[ 1.+0.j, 2.+0.j], [ 3.+0.j, 4.+0.j]])
Create some special matrices
>>> np.zeros( (3,4) ) array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.]]) >>> np.ones( (2,3,4), dtype=np.int16 ) # dtype can also be specified array([[[ 1, 1, 1, 1], [ 1, 1, 1, 1], [ 1, 1, 1, 1]], [[ 1, 1, 1, 1], [ 1, 1, 1, 1], [ 1, 1, 1, 1]]], dtype=int16) >>> np.empty( (2,3) ) # uninitialized, output may vary array([[ 3.73603959e-262, 6.02658058e-154, 6.55490914e-260], [ 5.30498948e-313, 3.14673309e-307, 1.00000000e+000]])
Create some matrices with specific rules
>>> np.arange( 10, 30, 5 ) array([10, 15, 20, 25]) >>> np.arange( 0, 2, 0.3 ) # it accepts float arguments array([ 0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8]) >>> from numpy import pi >>> np.linspace( 0, 2, 9 ) # 9 numbers from 0 to 2 array([ 0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. ]) >>> x = np.linspace( 0, 2*pi, 100 ) # useful to evaluate function at lots of points >>> f = np.sin(x)
Some basic operations
Addition, subtraction, multiplication and division trigonometric functions logical operations
>>> a = np.array( [20,30,40,50] ) >>> b = np.arange( 4 ) >>> b array([0, 1, 2, 3]) >>> c = a-b >>> c array([20, 29, 38, 47]) >>> b**2 array([0, 1, 4, 9]) >>> 10*np.sin(a) array([ 9.12945251, -9.88031624, 7.4511316 , -2.62374854]) >>> a<35 array([ True, True, False, False], dtype=bool)
Matrix operations
There are in matlab. *,./etc.
But in numpy, if you use +,-,×,/, the priority is to perform addition, subtraction, multiplication and division between each point
If two matrices ( Square matrix) can perform operations between elements and perform matrix operations. Operations between elements will be performed first.
>>> import numpy as np >>> A = np.arange(10,20) >>> B = np.arange(20,30) >>> A + B array([30, 32, 34, 36, 38, 40, 42, 44, 46, 48]) >>> A * B array([200, 231, 264, 299, 336, 375, 416, 459, 504, 551]) >>> A / B array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) >>> B / A array([2, 1, 1, 1, 1, 1, 1, 1, 1, 1])
If matrix operations need to be performed, it is usually matrix multiplication
>>> A = np.array([1,1,1,1]) >>> B = np.array([2,2,2,2]) >>> A.reshape(2,2) array([[1, 1], [1, 1]]) >>> B.reshape(2,2) array([[2, 2], [2, 2]]) >>> A * B array([2, 2, 2, 2]) >>> np.dot(A,B) 8 >>> A.dot(B) 8
Some commonly used global functions
>>> B = np.arange(3) >>> B array([0, 1, 2]) >>> np.exp(B) array([ 1. , 2.71828183, 7.3890561 ]) >>> np.sqrt(B) array([ 0. , 1. , 1.41421356]) >>> C = np.array([2., -1., 4.]) >>> np.add(B, C) array([ 2., 0., 6.])
Matrix index slice traversal
>>> a = np.arange(10)**3 >>> a array([ 0, 1, 8, 27, 64, 125, 216, 343, 512, 729]) >>> a[2] 8 >>> a[2:5] array([ 8, 27, 64]) >>> a[:6:2] = -1000 # equivalent to a[0:6:2] = -1000; from start to position 6, exclusive, set every 2nd element to -1000 >>> a array([-1000, 1, -1000, 27, -1000, 125, 216, 343, 512, 729]) >>> a[ : :-1] # reversed a array([ 729, 512, 343, 216, 125, -1000, 27, -1000, 1, -1000]) >>> for i in a: ... print(i**(1/3.)) ... nan 1.0 nan 3.0 nan 5.0 6.0 7.0 8.0 9.0
Matrix traversal
>>> import numpy as np >>> b = np.arange(16).reshape(4, 4) >>> for row in b: ... print(row) ... [0 1 2 3] [4 5 6 7] [ 8 9 10 11] [12 13 14 15] >>> for node in b.flat: ... print(node) ... 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Special operations of the matrix
Change the matrix shape- -reshape
>>> a = np.floor(10 * np.random.random((3,4))) >>> a array([[ 6., 5., 1., 5.], [ 5., 5., 8., 9.], [ 5., 5., 9., 7.]]) >>> a.ravel() array([ 6., 5., 1., 5., 5., 5., 8., 9., 5., 5., 9., 7.]) >>> a array([[ 6., 5., 1., 5.], [ 5., 5., 8., 9.], [ 5., 5., 9., 7.]])
The difference between resize and reshape
resize will change the original matrix, reshape will not
>>> a array([[ 6., 5., 1., 5.], [ 5., 5., 8., 9.], [ 5., 5., 9., 7.]]) >>> a.reshape(2,-1) array([[ 6., 5., 1., 5., 5., 5.], [ 8., 9., 5., 5., 9., 7.]]) >>> a array([[ 6., 5., 1., 5.], [ 5., 5., 8., 9.], [ 5., 5., 9., 7.]]) >>> a.resize(2,6) >>> a array([[ 6., 5., 1., 5., 5., 5.], [ 8., 9., 5., 5., 9., 7.]])
merge the matrices
>>> a = np.floor(10*np.random.random((2,2))) >>> a array([[ 8., 8.], [ 0., 0.]]) >>> b = np.floor(10*np.random.random((2,2))) >>> b array([[ 1., 8.], [ 0., 4.]]) >>> np.vstack((a,b)) array([[ 8., 8.], [ 0., 0.], [ 1., 8.], [ 0., 4.]]) >>> np.hstack((a,b)) array([[ 8., 8., 1., 8.], [ 0., 0., 0., 4.]])
The above is the detailed content of Summary of common methods in NumPy. For more information, please follow other related articles on the PHP Chinese website!

更新numpy版本方法:1、使用“pip install --upgrade numpy”命令;2、使用的是Python 3.x版本,使用“pip3 install --upgrade numpy”命令,将会下载并安装,覆盖当前的NumPy版本;3、若使用的是conda来管理Python环境,使用“conda install --update numpy”命令更新即可。

推荐使用最新版本的NumPy1.21.2。原因是:目前,NumPy的最新稳定版本是1.21.2。通常情况下,推荐使用最新版本的NumPy,因为它包含了最新的功能和性能优化,并且修复了之前版本中的一些问题和错误。

pythonnumpy中linspace函数numpy提供linspace函数(有时也称为np.linspace)是python中创建数值序列工具。与Numpyarange函数类似,生成结构与Numpy数组类似的均匀分布的数值序列。两者虽有些差异,但大多数人更愿意使用linspace函数,其很好理解,但我们需要去学习如何使用。本文我们学习linspace函数及其他语法,并通过示例解释具体参数。最后也顺便提及np.linspace和np.arange之间的差异。1.快速了解通过定义均匀间隔创建数值

查看numpy版本的方法:1、使用命令行查看版本,这将打印出当前版本;2、使用Python脚本查看版本,将在控制台输出当前版本;3、使用Jupyter Notebook查看版本,将在输出单元格中显示当前版本;4、使用Anaconda Navigator查看版本,在已安装的软件包列表中,可以找到其版本;5、在Python交互式环境中查看版本,将直接输出当前安装的版本。

numpy增加维度的方法:1、使用“np.newaxis”增加维度,“np.newaxis”是一个特殊的索引值,用于在指定位置插入一个新的维度,可以通过在对应的位置使用np.newaxis来增加维度;2、使用“np.expand_dims()”增加维度,“np.expand_dims()”函数可以在指定的位置插入一个新的维度,用于增加数组的维度

在本文中,我们将学习如何使用Python中的numpy库计算矩阵的行列式。矩阵的行列式是一个可以以紧凑形式表示矩阵的标量值。它是线性代数中一个有用的量,并且在物理学、工程学和计算机科学等各个领域都有多种应用。在本文中,我们首先将讨论行列式的定义和性质。然后我们将学习如何使用numpy计算矩阵的行列式,并通过一些实例来看它在实践中的应用。行列式的定义和性质Thedeterminantofamatrixisascalarvaluethatcanbeusedtodescribethepropertie

numpy可以通过使用pip、conda、源码和Anaconda来安装。详细介绍:1、pip,在命令行中输入pip install numpy即可;2、conda,在命令行中输入conda install numpy即可;3、源码,解压源码包或进入源码目录,在命令行中输入python setup.py build python setup.py install即可。

两个向量的外积是向量A的每个元素与向量B的每个元素相乘得到的矩阵。向量a和b的外积为a⊗b。以下是计算外积的数学公式。a⊗b=[a[0]*b,a[1]*b,...,a[m-1]*b]哪里,a,b是向量。表示两个向量的逐元素乘法。外积的输出是一个矩阵,其中i和j是矩阵的元素,其中第i行是通过将向量‘a’的第i个元素乘以向量‘b’的第i个元素得到的向量。使用Numpy计算外积在Numpy中,我们有一个名为outer()的函数,用于计算两个向量的外积。语法下面是outer()函数的语法-np.oute


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

WebStorm Mac version
Useful JavaScript development tools

Atom editor mac version download
The most popular open source editor

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.
