慢慢学。
import numpy as np # Numpy数组运算 print(‘========常见数组数学运算+-*/%**=========‘) arr1 = np.array([1, 2, 3]) arr2 = np.array([1, 2, 3]) print(arr1 + arr2) print(arr1 - arr2) print(arr1 * arr2) print(arr1 / arr2) print(arr1 % arr2) print(arr1 ** arr2) print(‘========大小不同的数组参与运算的唯一办法,广播=========‘) arr3 = np.array([1, 2]) arr4 = np.array([[1, 2], [3, 4], [5, 6]]) print(arr3 + arr4) print(‘========用newaxis常量明确指定数组的广播方式=========‘) arr1 = np.zeros((2, 2), float) arr2 = np.array([1., 2.], float) print(arr1 + arr2) print(arr1 + arr2[np.newaxis, :]) print(arr1 + arr2[:, np.newaxis]) print(‘========数组支持按条件查询=========‘) arr = np.array([[1, 2], [5, 9], [6, 15]], float) print(arr > 7) print(arr[arr>=7]) print(arr[np.logical_and(arr>5, arr<11)]) print(‘========根据索引选取元素=========‘) arr1 = np.array([1, 4, 5, 9], float) arr2 = np.array([0, 1, 1, 3, 1, 1, 1], int) print(arr1[arr2]) print(arr1[[0, 1, 1, 3, 1]]) print(‘========多维数组的选取,使用多个一维度的索引数组=========‘) arr1 = np.array([[1, 2], [5, 13]], float) arr2 = np.array([1, 0, 0, 1], int) arr3 = np.array([1, 1, 0, 1], int) print(arr1[arr2, arr3]) print(‘========take函数支持以索引数组为参数,从调用它的数组选取元素=========‘) arr1 = np.array([7, 6, 6, 9], float) arr2 = np.array([1, 0, 1, 3, 3, 1], int) print(arr1.take(arr2)) print(‘========用axis指定维度,take函数可从调用它的多维数组,沿指定维度选取一部分元素=========‘) arr1 = np.array([[10, 21], [62, 33]], float) arr2 = np.array([0, 0, 1], int) print(arr1.take(arr2, axis=0)) print(arr1.take(arr2, axis=1)) print(‘========put函数为take的逆函数,将一个数组的元素放到调用该函数的另一个数组的指定位置=========‘) arr1 = np.array([2, 1, 6, 2, 1, 9], float) arr2 = np.array([3, 10, 2], float) arr1.put([1, 4], arr2) print(arr1) print(‘========两维数组的乘法也是元素级的(矩阵乘法不是元素级,啥意思?)=========‘) arr1 = np.array([[11, 22], [23, 14]], float) arr2 = np.array([[25, 30], [13, 33]], float) print(arr1 * arr2)
PS C:\test> & C:/Python37/python.exe c:/test/ml.py ========常见数组数学运算+-*/%**========= [2 4 6] [0 0 0] [1 4 9] [1. 1. 1.] [0 0 0] [ 1 4 27] ========大小不同的数组参与运算的唯一办法,广播========= [[2 4] [4 6] [6 8]] ========用newaxis常量明确指定数组的广播方式========= [[1. 2.] [1. 2.]] [[1. 2.] [1. 2.]] [[1. 1.] [2. 2.]] ========数组支持按条件查询========= [[False False] [False True] [False True]] [ 9. 15.] [9. 6.] ========根据索引选取元素========= [1. 4. 4. 9. 4. 4. 4.] [1. 4. 4. 9. 4.] ========多维数组的选取,使用多个一维度的索引数组========= [13. 2. 1. 13.] ========take函数支持以索引数组为参数,从调用它的数组选取元素========= [6. 7. 6. 9. 9. 6.] ========用axis指定维度,take函数可从调用它的多维数组,沿指定维度选取一部分元素========= [[10. 21.] [10. 21.] [62. 33.]] [[10. 10. 21.] [62. 62. 33.]] ========put函数为take的逆函数,将一个数组的元素放到调用该函数的另一个数组的指定位置========= [ 2. 3. 6. 2. 10. 9.] ========两维数组的乘法也是元素级的(矩阵乘法不是元素级,啥意思?)========= [[275. 660.] [299. 462.]]
原文地址:https://www.cnblogs.com/aguncn/p/10801589.html
时间: 2024-10-08 07:04:18