Python NumPy教程
时间:2020-02-23 14:43:05 来源:igfitidea点击:
欢迎使用Python NumPy教程。
在本教程中,我们将安装NumPy,并研究NumPy数组和一些矩阵运算,例如加法,减法,乘法等。
Python NumPy
Python NumPy是Python中科学计算的核心库。
NumPy提供了高性能的多维数组对象和用于处理这些数组的工具。
如果您已经熟悉MATLAB,则可能会更容易理解python numpy教程。
要执行本教程的以下代码,您需要导入numpy
模块。
该软件包没有默认的python设置,因此让我们看看如何安装NumPy模块。
Python安装NumPy
您可以从此处查找针对不同类型的操作系统安装NumPy的说明。
我在Mac OS X上并使用python 3.6,我使用以下命令为python 3设置安装NumPy模块。
$pip3.6 install --user numpy
下图显示了为python 3安装numpy模块的终端输出。
Python NumPy数组
Python numpy数组是所有相同类型的值网格。
我们可以使用嵌套的Python列表初始化Python NumPy数组。
然后,我们可以使用它们的索引访问它们。
NumPy中也有一些功能,通过它您可以创建不同类型的Array。
请参阅以下代码,以了解python numpy数组声明和访问元素。
import numpy # Create a rank 1 array a = numpy.array([3, 2, 3]) print('print rank 1 array:') # access the array using their index print('print using their index: a[0]= ', a[0]) a[0] = 5 # modify the array print('print using slicing : ', a[1:]) # slicing can be used also # print the whole list print('Print the whole array : ', a) # Create a rank 2 array using nested Python list b = numpy.array([[10, 20, 30], [40, 50, 60]]) print('\nprint rank 2 array') # access them using their index print('print using their index: b[0,0]= ', b[0, 0], ' b[0,1]= ',b[0, 1]) print('print using slicing ', b[1:, :2]) # 1st slice for row, 2nd for column # initialize a zero matrix a = numpy.zeros((2, 2)) print('\nprint a 2-by-2 zero matrix:\n', a) # Create an array of all ones b = numpy.ones((2, 2)) print('\nprint a 2-by-2 all one matrix:\n', b) # Create a constant array c = numpy.full((3, 3), 6) print('\nprint a 3-by-3 constant matrix for value = 6:\n', c) # Create a 3x3 identity matrix d = numpy.eye(3) print('\nprint a 3-by-3 identity matrix:\n', d)
python numpy数组示例代码的输出为:
print rank 1 array: print using their index: a[0]= 3 print using slicing : [2 3] Print the whole array : [5 2 3] print rank 2 array print using their index: b[0,0]= 10 b[0,1]= 20 print using slicing [[40 50]] print a 2-by-2 zero matrix: [[ 0. 0.] [ 0. 0.]] print a 2-by-2 all one matrix: [[ 1. 1.] [ 1. 1.]] print a 3-by-3 constant matrix for value = 6: [[6 6 6] [6 6 6] [6 6 6]] print a 3-by-3 identity matrix: [[ 1. 0. 0.] [ 0. 1. 0.] [ 0. 0. 1.]]
Python NumPy教程–矩阵的算术运算
您可以进行算术运算,例如矩阵之间的加,减,乘和除。
在下面的示例中,您可以看到一些矩阵之间的算术运算示例。
import numpy # initialize two array x = numpy.array([[1, 2], [3, 4]], dtype=numpy.float64) y = numpy.array([[3, 4], [5, 6]], dtype=numpy.float64) print('Print the two matrices') print('X = \n', x) print('Y = \n', y) # Elementwise sum; both produce the array print('\nElementwise addition of two matrices: ( X + Y of Matlab )') print('Add using add operator: \n', x + y) print('Add using add function: \n', numpy.add(x, y)) # Elementwise difference; both produce the array print('\nElementwise subtraction of two matrices: ( X - Y of Matlab )') print('Subtract using operator: \n', x - y) print('Subtract using function: \n', numpy.subtract(x, y)) # Elementwise product; both produce the array print('\nElementwise Multiplication of two matrices: ( X .* Y of Matlab )') print('Multiply using operator: \n', x * y) print('Multiply using function: \n', numpy.multiply(x, y)) # Elementwise division; both produce the array print('\nElementwise division of two matrices: ( X ./Y of Matlab )') print('Division using operator: \n', x/y) print('Division using function: \n', numpy.divide(x, y)) # Elementwise square root; produces the array print('\nSquare root each element of X matrix\n', numpy.sqrt(x)) # Matrix Multiplication print('\nMatrix Multiplication of two matrices: ( X * Y of Matlab )') print(x.dot(y))
以下是上述numpy矩阵程序产生的输出。
X = [[ 1. 2.] [ 3. 4.]] Y = [[ 3. 4.] [ 5. 6.]] Elementwise addition of two matrices: ( X + Y of Matlab ) Add using add operator: [[ 4. 6.] [ 8. 10.]] Add using add function: [[ 4. 6.] [ 8. 10.]] Elementwise subtraction of two matrices: ( X - Y of Matlab ) Subtract using operator: [[-2. -2.] [-2. -2.]] Subtract using function: [[-2. -2.] [-2. -2.]] Elementwise Multiplication of two matrices: ( X .* Y of Matlab ) Multiply using operator: [[ 3. 8.] [ 15. 24.]] Multiply using function: [[ 3. 8.] [ 15. 24.]] Elementwise division of two matrices: ( X ./Y of Matlab ) Division using operator: [[ 0.33333333 0.5 ] [ 0.6 0.66666667]] Division using function: [[ 0.33333333 0.5 ] [ 0.6 0.66666667]] Square root each element of X matrix [[ 1. 1.41421356] [ 1.73205081 2. ]] Matrix Multiplication of two matrices: ( X * Y of Matlab ) [[ 13. 16.] [ 29. 36.]]