1. What is NumPy?
Very simply, NumPy is a scientific computing library of Python that provides the functionality of matrix operations, which are generally used in conjunction with SCIPY and Matplotlib. In fact, the list already provides a matrix-like representation, but NumPy provides us with more functions. If contact with Matlab, Scilab, then numpy very good start. In the following code example, NumPy is always imported first:
Copy the Code code as follows:
>>> Import NumPy as NP
>>> Print Np.version.version
1.6.2
2. Multidimensional arrays
The type of the multidimensional array is: Numpy.ndarray.
Using the Numpy.array method
Produces a one-dimensional array with a list or tuple variable as a parameter:
Copy the Code code as follows:
>>> print Np.array ([1,2,3,4])
[1 2 3 4]
>>> Print Np.array ((1.2,2,3,4))
[1.2 2. 3.4. ]
>>> Print Type (Np.array ((1.2,2,3,4)))
Produces a two-dimensional array of elements as a list or a tuple variable:
Copy CodeThe code is as follows:
>>> print Np.array ([[1,2],[3,4]])
[[1 2]
[3 4]]
When generating an array, you can specify the data type, such as Numpy.int32, Numpy.int16, and Numpy.float64, and so on:
Copy CodeThe code is as follows:
>>> Print Np.array ((1.2,2,3,4), Dtype=np.int32)
[1 2 3 4]
using the Numpy.arange method
Copy CodeThe code is as follows:
>>> print Np.arange (15)
[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
>>> Print Type (Np.arange (15))
>>> print Np.arange (reshape) (3,5)
[[0 1 2 3 4]
[5 6 7 8 9]
[10 11 12 13 14]]
>>> Print type (np.arange. Reshape (3,5))
using the Numpy.linspace method
For example, a 9 number is generated from 1 to 3:
Copy the Code code as follows:
>>> print Np.linspace (1,3,9)
[1.1.25 1.5 1.75 2.2.25 2.5 2.75 3.]
a specific matrix can be constructed using methods such as Numpy.zeros,numpy.ones,numpy.eye
For example:
Copy the Code code as follows:
>>> Print Np.zeros ((3,4))
[0.0. 0.0.]
[0.0. 0.0.]
[0.0. 0.0.]
>>> Print Np.ones ((3,4))
[1.1. 1.1.]
[1.1. 1.1.]
[1.1. 1.1.]
>>> print Np.eye (3)
[1.0. 0.]
[0.1. 0.]
[0.0. 1.]
Create a three-dimensional array:
Copy CodeThe code is as follows:
>>> Print Np.zeros ((2,2,2))
[[0.0.]
[0.0.]
[0.0.]
[0.0.]]
gets the properties of the array:
Copy CodeThe code is as follows:
>>> a = Np.zeros ((2,2,2))
>>> Print A.ndim #数组的维数
3
>>> Print A.shape #数组每一维的大小
(2, 2, 2)
>>> Print A.size #数组的元素数
8
>>> Print A.dtype #元素类型
Float64
>>> Print A.itemsize #每个元素所占的字节数
8
Array index, slice, assignment
Example:
Copy the Code code as follows:
>>> a = Np.array ([[2,3,4],[5,6,7]])
>>> Print a
[[2 3 4]
[5 6 7]]
>>> Print a[1,2]
7
>>> print a[1,:]
[5 6 7]
>>> Print A[1,1:2]
[6]
>>> a[1,:] = [8,9,10]
>>> Print a
[[2 3 4]
[8 9 10]]
using the For Action element
Copy CodeThe code is as follows:
>>> for X in Np.linspace (1,3,3):
... print X
...
1.0
2.0
3.0
Basic array Operations
First construct the array A, B:
Copy the Code code as follows:
>>> a = Np.ones ((2,2))
>>> B = Np.eye (2)
>>> Print a
[1.1.]
[1.1.]
>>> Print B
[1.0.]
[0.1.]
The subtraction of the array:
Copy CodeThe code is as follows:
>>> Print a > 2
[[FALSE]
[FALSE]]
>>> Print A+b
[2.1.]
[1.2.]
>>> Print A-b
[0.1.]
[1.0.]
>>> Print B*2
[2.0.]
[0.2.]
>>> Print (a*2) * (b*2)
[4.0.]
[0.4.]
>>> Print b/(a*2)
[[0.5 0.]
[0.0.5]]
>>> print (a*2) **4
[16.16.]
[16.16.]
Use the Array object's own method:
Copy the Code code as follows:
>>> A.sum ()
4.0
>>> a.sum (axis=0) #计算每一列 (a matrix-like column in a two-dimensional array) and
Array ([2., 2.])
>>> A.min ()
1.0
>>> A.max ()
1.0
Use the method under NumPy:
Copy the Code code as follows:
>>> Np.sin (a)
Array ([[0.84147098, 0.84147098],
[0.84147098, 0.84147098]])
>>> Np.max (a)
1.0
>>> Np.floor (a)
Array ([[1., 1.],
[1., 1.]])
>>> Np.exp (a)
Array ([[2.71828183, 2.71828183],
[2.71828183, 2.71828183]])
>>> Np.dot (a,a) # #矩阵乘法
Array ([[2., 2.],
[2., 2.]])
Merging arrays
Use the Vstack and Hstack functions under NumPy:
Copy the Code code as follows:
>>> a = Np.ones ((2,2))
>>> B = Np.eye (2)
>>> Print Np.vstack ((b))
[1.1.]
[1.1.]
[1.0.]
[0.1.]
>>> Print Np.hstack ((b))
[1.1. 1.0.]
[1.1. 0.1.]
See if these two functions involve a shallow copy of the problem:
Copy the Code code as follows:
>>> C = Np.hstack ((A, B))
>>> Print C
[1.1. 1.0.]
[1.1. 0.1.]
>>> a[1,1] = 5
>>> b[1,1] = 5
>>> Print C
[1.1. 1.0.]
[1.1. 0.1.]
As you can see, the changes in the elements in A and b do not affect C.
Deep Copy Array
The array object comes with a shallow copy and a deep copy method, but it is generally more deep-copy:
Copy the Code code as follows:
>>> a = Np.ones ((2,2))
>>> B = A
>>> B is a
True
>>> C = a.copy () #深拷贝
>>> C is a
False
Basic matrix Operations
Transpose:
Copy the Code code as follows:
>>> a = Np.array ([[1,0],[2,3]])
>>> Print a
[[1 0]
[2 3]]
>>> Print A.transpose ()
[[1 2]
[0 3]]
Trace:
Copy CodeThe code is as follows:
>>> print Np.trace (a)
4
There are many methods for matrix operations in the NUMPY.LINALG module:
Copy CodeThe code is as follows:
>>> Import Numpy.linalg as NPLG
Eigenvalues, eigenvectors:
Copy the Code code as follows:
>>> print Nplg.eig (a)
(Array ([3., 1.]), array ([[0., 0.70710678],
[1.,-0.70710678]])
3. Matrix
NumPy can also construct matrix objects, which are not discussed here.