常用numpy用法详细介绍
numpy 简介
numpy的存在使得python拥有强大的矩阵计算能力,不亚于matlab。
官方文档(https://docs.scipy.org/doc/numpy-dev/user/quickstart.html)
各种用法介绍
首先是numpy中的数据类型,ndarray类型,和标准库中的array.array并不一样。
ndarray的一些属性
ndarray.ndim
the number of axes (dimensions) of the array. In the Python world, the number of dimensions is referred to as rank.
ndarray.shape
the dimensions of the array. This is a tuple of integers indicating the size of the array in each dimension. For a matrix with n rows and m columns, shape will be (n,m). The length of the shape tuple is therefore the rank, or number of dimensions, ndim.
ndarray.size
the total number of elements of the array. This is equal to the product of the elements of shape.
ndarray.dtype
an object describing the type of the elements in the array. One can create or specify dtype’s using standard Python types. Additionally NumPy provides types of its own. numpy.int32, numpy.int16, and numpy.float64 are some examples.
ndarray.itemsize
the size in bytes of each element of the array. For example, an array of elements of type float64 has itemsize 8 (=64/8), while one of type complex32 has itemsize 4 (=32/8). It is equivalent to ndarray.dtype.itemsize.
ndarray.data
the buffer containing the actual elements of the array. Normally, we won’t need to use this attribute because we will access the elements in an array using indexing facilities.
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')
二维的数组
>>> b = np.array([(1.5,2,3), (4,5,6)])>>> b array([[ 1.5, 2. , 3. ], [ 4. , 5. , 6. ]])
创建时指定类型
>>> c = np.array( [ [1,2], [3,4] ], dtype=complex )>>> c array([[ 1.+0.j, 2.+0.j], [ 3.+0.j, 4.+0.j]])
创建一些特殊的矩阵
>>> 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]])
创建一些有特定规律的矩阵
>>> 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)
一些基本的运算
加减乘除三角函数逻辑运算
>>> 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)
矩阵运算
matlab中有.* ,./等等
但是在numpy中,如果使用+,-,×,/优先执行的是各个点之间的加减乘除法
如果两个矩阵(方阵)可既以元素之间对于运算,又能执行矩阵运算会优先执行元素之间的运算
>>> 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])
如果需要执行矩阵运算,一般就是矩阵的乘法运算
>>> 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
一些常用的全局函数
>>> 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.])
矩阵的索引分片遍历
>>> 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
矩阵的遍历
>>> 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
矩阵的特殊运算
改变矩阵形状--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.]])
resize和reshape的区别
resize会改变原来的矩阵,reshape并不会
>>> 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.]])
矩阵的合并
>>> 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.]])
Atas ialah kandungan terperinci 常用numpy用法详细介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara mengemas kini versi numpy: 1. Gunakan arahan "pip install --upgrade numpy" 2. Jika anda menggunakan versi Python 3.x, gunakan arahan "pip3 install --upgrade numpy", yang akan memuat turun dan pasangkannya, timpa Versi NumPy semasa 3. Jika anda menggunakan conda untuk mengurus persekitaran Python, gunakan perintah "conda install --update numpy" untuk mengemas kini.

Numpy ialah perpustakaan matematik penting dalam Python Ia menyediakan operasi tatasusunan yang cekap dan fungsi pengiraan saintifik dan digunakan secara meluas dalam analisis data, pembelajaran mesin, pembelajaran mendalam dan bidang lain. Apabila menggunakan numpy, kita selalunya perlu menyemak nombor versi numpy untuk menentukan fungsi yang disokong oleh persekitaran semasa. Artikel ini akan memperkenalkan cara menyemak versi numpy dengan cepat dan memberikan contoh kod khusus. Kaedah 1: Gunakan atribut __version__ yang disertakan dengan numpy Modul numpy disertakan dengan __.

Adalah disyorkan untuk menggunakan versi terkini NumPy1.21.2. Sebabnya ialah: Pada masa ini, versi stabil terkini NumPy ialah 1.21.2. Secara umumnya, adalah disyorkan untuk menggunakan versi terkini NumPy, kerana ia mengandungi ciri terkini dan pengoptimuman prestasi, dan membetulkan beberapa isu dan pepijat dalam versi sebelumnya.

Cara menaik taraf versi numpy: Tutorial yang mudah diikuti, memerlukan contoh kod konkrit Pengenalan: NumPy ialah perpustakaan Python penting yang digunakan untuk pengkomputeran saintifik. Ia menyediakan objek tatasusunan berbilang dimensi yang berkuasa dan satu siri fungsi berkaitan yang boleh digunakan untuk melaksanakan operasi berangka yang cekap. Apabila versi baharu dikeluarkan, ciri yang lebih baharu dan pembetulan pepijat sentiasa tersedia kepada kami. Artikel ini akan menerangkan cara untuk menaik taraf pustaka NumPy anda yang dipasang untuk mendapatkan ciri terkini dan menyelesaikan isu yang diketahui. Langkah 1: Semak versi NumPy semasa pada permulaan

Ajar anda langkah demi langkah untuk memasang NumPy dalam PyCharm dan menggunakan sepenuhnya fungsinya yang berkuasa: NumPy ialah salah satu perpustakaan asas untuk pengkomputeran saintifik dalam Python Ia menyediakan objek tatasusunan berbilang dimensi berprestasi tinggi dan pelbagai fungsi yang diperlukan untuk melaksanakan operasi asas pada fungsi tatasusunan. Ia merupakan bahagian penting dalam kebanyakan projek sains data dan pembelajaran mesin. Artikel ini akan memperkenalkan anda kepada cara memasang NumPy dalam PyCharm, dan menunjukkan ciri hebatnya melalui contoh kod tertentu. Langkah 1: Pasang PyCharm Pertama, kami

Cara menambah dimensi dalam numpy: 1. Gunakan "np.newaxis" untuk menambah dimensi "np.newaxis" ialah nilai indeks khas yang digunakan untuk memasukkan dimensi baharu pada kedudukan yang ditentukan. Anda boleh menggunakan np.newaxis pada kedudukan yang sepadan . Untuk meningkatkan dimensi; 2. Gunakan "np.expand_dims()" untuk meningkatkan dimensi Fungsi "np.expand_dims()" boleh memasukkan dimensi baharu pada kedudukan yang ditetapkan untuk meningkatkan dimensi tatasusunan.

Numpy boleh dipasang menggunakan pip, conda, kod sumber dan Anaconda. Pengenalan terperinci: 1. pip, masukkan pip install numpy dalam baris arahan; 2. conda, masukkan conda install numpy dalam baris arahan 3. Kod sumber, buka zip pakej kod sumber atau masukkan direktori kod sumber, masukkan dalam arahan baris python setup.py bina python setup.py install.

Dengan perkembangan pesat bidang seperti sains data, pembelajaran mesin dan pembelajaran mendalam, Python telah menjadi bahasa arus perdana untuk analisis dan pemodelan data. Dalam Python, NumPy (singkatan untuk NumericalPython) ialah perpustakaan yang sangat penting kerana ia menyediakan satu set objek tatasusunan berbilang dimensi yang cekap dan merupakan asas untuk banyak perpustakaan lain seperti panda, SciPy dan scikit-learn. Dalam proses menggunakan NumPy, anda mungkin menghadapi masalah keserasian antara versi yang berbeza, kemudian
