Numpy常用函数总结

2021-01-07 14:34:39 浏览数 (1)

参考链接: Python中的numpy.arctan2

Numpy函数

 广播数学函数算术运算加:numpy.add(x1, x2, *args, **kwargs)减:numpy.subtract(x1, x2, *args, **kwargs)乘:numpy.multiply(x1, x2, *args, **kwargs)除:numpy.divide(x1, x2, *args, **kwargs)整除:numpy.floor_divide(x1, x2, *args, **kwargs)幂:numpy.power(x1, x2, *args, **kwargs)开方:numpy.sqrt(x, *args, **kwargs)平方:numpy.square(x, *args, **kwargs)示例

   三角函数numpy.sin(x, *args, **kwargs)numpy.cos(x, *args, **kwargs)numpy.tan(x, *args, **kwargs)numpy.arcsin(x, *args, **kwargs)numpy.arccos(x, *args, **kwargs)numpy.arctan(x, *args, **kwargs)示例

   指数、对数函数numpy.exp(x, *args, **kwargs)numpy.log(x, *args, **kwargs)numpy.exp2(x, *args, **kwargs)numpy.log2(x, *args, **kwargs)numpy.log10(x, *args, **kwargs)示例

   维度加、累加、累乘维度加:numpy.sum(a[, axis=None, dtype=None, out=None, …])—— 返回给定轴上的数组元素的总和累加:numpy.cumsum(a, axis=None, dtype=None, out=None) ——返回给定轴上的数组元素的累加和。维度乘:numpy.prod(a[, axis=None, dtype=None, out=None, …])—— 返回给定轴上数组元素的乘积累乘:numpy.cumprod(a, axis=None, dtype=None, out=None) ——返回给定轴上数组元素的累乘

   临差:numpy.diff(a, n=1, axis=-1, prepend=np._NoValue, append=np._NoValue) — 沿着指定轴计算第N维的离散差值四舍五入numpy.around(a, decimals=0, out=None) —— 将数组舍入到给定的小数位数向上下取整numpy.ceil(x, *args, **kwargs)——向上取整numpy.floor(x, *args, **kwargs) ——向下取整

   其它numpy.clip(a, a_min, a_max, out=None, **kwargs) —— 限制值范围numpy.absolute(x, *args, **kwargs) /numpy.abs(x, *args, **kwargs) —— 绝对值numpy.sign(x, *args, **kwargs) ——正负性返回

  逻辑函数真值判断numpy.all(任意真则真)、numpy.any(存在真则真)逻辑运算与、或、非、异或numpy.logical_and(x1, x2, *args, **kwargs)numpy.logical_or(x1, x2, *args, **kwargs)numpy.logical_not(x, *args, **kwargs)numpy.logical_xor(x1, x2, *args, **kwargs)

    比较(大于、小于、等于、不大于、不小于)numpy.greater(x1, x2, *args, **kwargs)numpy.greater_equal(x1, x2, *args, **kwargs)numpy.equal(x1, x2, *args, **kwargs)numpy.not_equal(x1, x2, *args, **kwargs)numpy.less(x1, x2, *args, **kwargs)numpy.less_equal(x1, x2, *args, **kwargs)

广播 

广播的规则有三个: 

 如果两个数组的维度数dim不相同,那么小维度数组的形状将会在左边补1。  如果shape维度不匹配,但是有维度是1,那么可以扩展维度是1的维度匹配另一个数组;  如果shape维度不匹配,但是没有任何一个维度是1,则匹配引发错误; 示例: x = np.arange(4)

y = np.ones((3, 4))

print(x.shape)  # (4,)

print(y.shape)  # (3, 4)

print((x y).shape)  # (3, 4)

print(x y)

# [[1. 2. 3. 4.]

#  [1. 2. 3. 4.]

#  [1. 2. 3. 4.]]

 shape维度不匹配,但是有维度是1: x = np.arange(4).reshape(4, 1)

y = np.ones(5)

print(x.shape)  # (4, 1)

print(y.shape)  # (5,)

print((x y).shape)  # (4, 5)

print(x y)

# [[1. 1. 1. 1. 1.]

#  [2. 2. 2. 2. 2.]

#  [3. 3. 3. 3. 3.]

#  [4. 4. 4. 4. 4.]]

x = np.array([0.0, 10.0, 20.0, 30.0])

y = np.array([1.0, 2.0, 3.0])

z = x[:, np.newaxis] y

print(z)

# [[ 1.  2.  3.]

#  [11. 12. 13.]

#  [21. 22. 23.]

#  [31. 32. 33.]]

 匹配失败: x = np.arange(4)

y = np.ones(5)

print(x.shape)  # (4,)

print(y.shape)  # (5,)

print(x y)

# ValueError: operands could not be broadcast together with shapes (4,) (5,)

数学函数 

算术运算 

算符为 元素级。也就是说,它们只用于位置相同的元素之间,所得到的运算结果组成一个新的数组。 

加:numpy.add(x1, x2, *args, **kwargs) 

Add arguments element-wise. 

减:numpy.subtract(x1, x2, *args, **kwargs) 

Subtract arguments element-wise 

乘:numpy.multiply(x1, x2, *args, **kwargs) 

Multiply arguments element-wise. 

除:numpy.divide(x1, x2, *args, **kwargs) 

Returns a true division of the inputs, element-wise. 

整除:numpy.floor_divide(x1, x2, *args, **kwargs) 

Return the largest integer smaller or equal to the division of the inputs. 

幂:numpy.power(x1, x2, *args, **kwargs) 

First array elements raised to powers from second array, element-wise. 

开方:numpy.sqrt(x, *args, **kwargs) 

Return the non-negative square-root of an array, element-wise. 

平方:numpy.square(x, *args, **kwargs) 

Return the element-wise square of the input. 

示例 

 矩阵与数字 x = np.array([1, 2, 3, 4, 5, 6, 7, 8])

y = x 1

print(y)

print(np.add(x, 1))

# [2 3 4 5 6 7 8 9]

y = x - 1

print(y)

print(np.subtract(x, 1))

# [0 1 2 3 4 5 6 7]

y = x * 2

print(y)

print(np.multiply(x, 2))

# [ 2  4  6  8 10 12 14 16]

y = x / 2

print(y)

print(np.divide(x, 2))

# [0.5 1.  1.5 2.  2.5 3.  3.5 4. ]

y = x // 2

print(y)

print(np.floor_divide(x, 2))

# [0 1 1 2 2 3 3 4]

y = x ** 2

print(y)

print(np.power(x, 2))

# [ 1  4  9 16 25 36 49 64]

  非相同形状矩阵运算(广播) x = np.array([[11, 12, 13, 14, 15],

              [16, 17, 18, 19, 20],

              [21, 22, 23, 24, 25],

              [26, 27, 28, 29, 30],

              [31, 32, 33, 34, 35]])

y = np.arange(1, 6)

print(y)

# [1 2 3 4 5]

z = x y

print(z)

print(np.add(x, y))

# [[12 14 16 18 20]

#  [17 19 21 23 25]

#  [22 24 26 28 30]

#  [27 29 31 33 35]

#  [32 34 36 38 40]]

z = x - y

print(z)

print(np.subtract(x, y))

# [[10 10 10 10 10]

#  [15 15 15 15 15]

#  [20 20 20 20 20]

#  [25 25 25 25 25]

#  [30 30 30 30 30]]

z = x * y

print(z)

print(np.multiply(x, y))

# [[ 11  24  39  56  75]

#  [ 16  34  54  76 100]

#  [ 21  44  69  96 125]

#  [ 26  54  84 116 150]

#  [ 31  64  99 136 175]]

z = x / y

print(z)

print(np.divide(x, y))

# [[11.          6.          4.33333333  3.5         3.        ]

#  [16.          8.5         6.          4.75        4.        ]

#  [21.         11.          7.66666667  6.          5.        ]

#  [26.         13.5         9.33333333  7.25        6.        ]

#  [31.         16.         11.          8.5         7.        ]]

z = x // y

print(z)

print(np.floor_divide(x, y))

# [[11  6  4  3  3]

#  [16  8  6  4  4]

#  [21 11  7  6  5]

#  [26 13  9  7  6]

#  [31 16 11  8  7]]

z = x ** np.full([1, 5], 2)

print(z)

print(np.power(x, np.full([5, 5], 2)))

# [[ 121  144  169  196  225]

#  [ 256  289  324  361  400]

#  [ 441  484  529  576  625]

#  [ 676  729  784  841  900]

#  [ 961 1024 1089 1156 1225]]

  相同形状代码运算 x = np.array([[11, 12, 13, 14, 15],

              [16, 17, 18, 19, 20],

              [21, 22, 23, 24, 25],

              [26, 27, 28, 29, 30],

              [31, 32, 33, 34, 35]])

y = np.arange(1, 26).reshape([5, 5])

print(y)

# [[ 1  2  3  4  5]

#  [ 6  7  8  9 10]

#  [11 12 13 14 15]

#  [16 17 18 19 20]

#  [21 22 23 24 25]]

z = x y

print(z)

print(np.add(x, y))

# [[12 14 16 18 20]

#  [22 24 26 28 30]

#  [32 34 36 38 40]

#  [42 44 46 48 50]

#  [52 54 56 58 60]]

z = x - y

print(z)

print(np.subtract(x, y))

# [[10 10 10 10 10]

#  [10 10 10 10 10]

#  [10 10 10 10 10]

#  [10 10 10 10 10]

#  [10 10 10 10 10]]

z = x * y

print(z)

print(np.multiply(x, y))

# [[ 11  24  39  56  75]

#  [ 96 119 144 171 200]

#  [231 264 299 336 375]

#  [416 459 504 551 600]

#  [651 704 759 816 875]]

z = x / y

print(z)

print(np.divide(x, y))

# [[11.          6.          4.33333333  3.5         3.        ]

#  [ 2.66666667  2.42857143  2.25        2.11111111  2.        ]

#  [ 1.90909091  1.83333333  1.76923077  1.71428571  1.66666667]

#  [ 1.625       1.58823529  1.55555556  1.52631579  1.5       ]

#  [ 1.47619048  1.45454545  1.43478261  1.41666667  1.4       ]]

z = x // y

print(z)

print(np.floor_divide(x, y))

# [[11  6  4  3  3]

#  [ 2  2  2  2  2]

#  [ 1  1  1  1  1]

#  [ 1  1  1  1  1]

#  [ 1  1  1  1  1]]

z = x ** np.full([5, 5], 2)

print(z)

print(np.power(x, np.full([5, 5], 2)))

# [[ 121  144  169  196  225]

#  [ 256  289  324  361  400]

#  [ 441  484  529  576  625]

#  [ 676  729  784  841  900]

#  [ 961 1024 1089 1156 1225]]

  对每个元素开平方 x = np.arange(1, 5)

print(x)  # [1 2 3 4]

#开方

y = np.sqrt(x)

print(y)

# [1.         1.41421356 1.73205081 2.        ]

print(np.power(x, 0.5))

# [1.         1.41421356 1.73205081 2.        ]

#平方

y = np.square(x)

print(y)

# [ 1  4  9 16]

print(np.power(x, 2))

# [ 1  4  9 16]

三角函数 

numpy.sin(x, *args, **kwargs) 

Trigonometric sine, element-wise. 

numpy.cos(x, *args, **kwargs) 

Cosine element-wise. 

numpy.tan(x, *args, **kwargs) 

Compute tangent element-wise. 

numpy.arcsin(x, *args, **kwargs) 

Inverse sine, element-wise. 

numpy.arccos(x, *args, **kwargs) 

Trigonometric inverse cosine, element-wise. 

numpy.arctan(x, *args, **kwargs) 

Trigonometric inverse tangent, element-wise. 

示例 

x = np.linspace(start=0, stop=np.pi / 2, num=10)

print(x)

# [0.         0.17453293 0.34906585 0.52359878 0.6981317  0.87266463

#  1.04719755 1.22173048 1.3962634  1.57079633]

y = np.sin(x)

print(y)

# [0.         0.17364818 0.34202014 0.5        0.64278761 0.76604444

#  0.8660254  0.93969262 0.98480775 1.        ]

z = np.arcsin(y)

print(z)

# [0.         0.17453293 0.34906585 0.52359878 0.6981317  0.87266463

#  1.04719755 1.22173048 1.3962634  1.57079633]

y = np.cos(x)

print(y)

# [1.00000000e 00 9.84807753e-01 9.39692621e-01 8.66025404e-01

#  7.66044443e-01 6.42787610e-01 5.00000000e-01 3.42020143e-01

#  1.73648178e-01 6.12323400e-17]

z = np.arccos(y)

print(z)

# [0.         0.17453293 0.34906585 0.52359878 0.6981317  0.87266463

#  1.04719755 1.22173048 1.3962634  1.57079633]

y = np.tan(x)

print(y)

# [0.00000000e 00 1.76326981e-01 3.63970234e-01 5.77350269e-01

#  8.39099631e-01 1.19175359e 00 1.73205081e 00 2.74747742e 00

#  5.67128182e 00 1.63312394e 16]

z = np.arctan(y)

print(z)

# [0.         0.17453293 0.34906585 0.52359878 0.6981317  0.87266463

#  1.04719755 1.22173048 1.3962634  1.57079633]

指数、对数函数 

numpy.exp(x, *args, **kwargs) 

Calculate the exponential of all elements in the input array. 

numpy.log(x, *args, **kwargs) 

Natural logarithm, element-wise. 

numpy.exp2(x, *args, **kwargs) 

Calculate 2**p for all p in the input array. 

numpy.log2(x, *args, **kwargs) 

Base-2 logarithm of x. 

numpy.log10(x, *args, **kwargs) 

Return the base 10 logarithm of the input array, element-wise. 

示例 

x = np.arange(1, 5)

print(x)

# [1 2 3 4]

y = np.exp(x)

print(y)

# [ 2.71828183  7.3890561  20.08553692 54.59815003]

z = np.log(y)

print(z)

# [1. 2. 3. 4.]

维度加、累加、累乘 

维度加:numpy.sum(a[, axis=None, dtype=None, out=None, …])—— 返回给定轴上的数组元素的总和 

Sum of array elements over a given axis. 返回给定轴上的数组元素的总和。 通过不同的 axis,numpy 会沿着不同的方向进行操作:如果不设置,那么对所有的元素操作;如果axis=0,则沿着纵轴进行操作;axis=1,则沿着横轴进行操作;axis=i,则 numpy 沿着第i个下标变化的方向进行操作。 示例: 

x = np.array([[11, 12, 13, 14, 15],

              [16, 17, 18, 19, 20],

              [21, 22, 23, 24, 25],

              [26, 27, 28, 29, 30],

              [31, 32, 33, 34, 35]])

y = np.sum(x)

print(y)  # 575

y = np.sum(x, axis=0)

print(y)  # [105 110 115 120 125]

y = np.sum(x, axis=1)

print(y)  # [ 65  90 115 140 165]

累加:numpy.cumsum(a, axis=None, dtype=None, out=None) ——返回给定轴上的数组元素的累加和。 

Return the cumulative sum of the elements along a given axis. 聚合函数 是指对一组值(比如一个数组)进行操作,返回一个单一值作为结果的函数。因而,求数组所有元素之和的函数就是聚合函数。ndarray类实现了多个这样的函数。 

x = np.array([[11, 12, 13, 14, 15],

              [16, 17, 18, 19, 20],

              [21, 22, 23, 24, 25],

              [26, 27, 28, 29, 30],

              [31, 32, 33, 34, 35]])

y = np.cumsum(x)

print(y)

# [ 11  23  36  50  65  81  98 116 135 155 176 198 221 245 270 296 323 351

#  380 410 441 473 506 540 575]

y = np.cumsum(x, axis=0)

print(y)

# [[ 11  12  13  14  15]

#  [ 27  29  31  33  35]

#  [ 48  51  54  57  60]

#  [ 74  78  82  86  90]

#  [105 110 115 120 125]]

y = np.cumsum(x, axis=1)

print(y)

# [[ 11  23  36  50  65]

#  [ 16  33  51  70  90]

#  [ 21  43  66  90 115]

#  [ 26  53  81 110 140]

#  [ 31  63  96 130 165]]

维度乘:numpy.prod(a[, axis=None, dtype=None, out=None, …])—— 返回给定轴上数组元素的乘积 

Return the product of array elements over a given axis. 参数用法与numpy.sum()相同 示例: 

x = np.array([[11, 12, 13, 14, 15],

              [16, 17, 18, 19, 20],

              [21, 22, 23, 24, 25],

              [26, 27, 28, 29, 30],

              [31, 32, 33, 34, 35]])

y = np.prod(x)

print(y)  # 788529152

y = np.prod(x, axis=0)

print(y)

# [2978976 3877632 4972968 6294624 7875000]

y = np.prod(x, axis=1)

print(y)

# [  360360  1860480  6375600 17100720 38955840]

累乘:numpy.cumprod(a, axis=None, dtype=None, out=None) ——返回给定轴上数组元素的累乘 

Return the cumulative product of elements along a given axis. 

x = np.array([[11, 12, 13, 14, 15],

              [16, 17, 18, 19, 20],

              [21, 22, 23, 24, 25],

              [26, 27, 28, 29, 30],

              [31, 32, 33, 34, 35]])

y = np.cumprod(x)

print(y)

# [         11         132        1716       24024      360360     5765760

#     98017920  1764322560  -837609728   427674624   391232512    17180672

#    395155456   893796352   870072320  1147043840   905412608  -418250752

#    755630080  1194065920 -1638662144  -897581056   444596224 -2063597568

#    788529152]

y = np.cumprod(x, axis=0)

print(y)

# [[     11      12      13      14      15]

#  [    176     204     234     266     300]

#  [   3696    4488    5382    6384    7500]

#  [  96096  121176  150696  185136  225000]

#  [2978976 3877632 4972968 6294624 7875000]]

y = np.cumprod(x, axis=1)

print(y)

# [[      11      132     1716    24024   360360]

#  [      16      272     4896    93024  1860480]

#  [      21      462    10626   255024  6375600]

#  [      26      702    19656   570024 17100720]

#  [      31      992    32736  1113024 38955840]]

临差:numpy.diff(a, n=1, axis=-1, prepend=np._NoValue, append=np._NoValue) — 沿着指定轴计算第N维的离散差值 

The first difference is given by out[i] = a[i 1] - a[i] along the given axis, higher differences are calculated by using diff recursively. Calculate the n-th discrete difference along the given axis 

a:输入矩阵n:可选,代表要执行几次差值axis:默认是最后一个 示例: 

A = np.arange(2, 14).reshape((3, 4))

A[1, 1] = 8

print(A)

# [[ 2  3  4  5]

#  [ 6  8  8  9]

#  [10 11 12 13]]

print(np.diff(A))

# [[1 1 1]

#  [2 0 1]

#  [1 1 1]]

print(np.diff(A, axis=0))

# [[4 5 4 4]

#  [4 3 4 4]]

四舍五入 

numpy.around(a, decimals=0, out=None) —— 将数组舍入到给定的小数位数 

Evenly round to the given number of decimals 

x = np.random.rand(3, 3) * 10

print(x)

# [[6.59144457 3.78566113 8.15321227]

#  [1.68241475 3.78753332 7.68886328]

#  [2.84255822 9.58106727 7.86678037]]

y = np.around(x)

print(y)

# [[ 7.  4.  8.]

#  [ 2.  4.  8.]

#  [ 3. 10.  8.]]

y = np.around(x, decimals=2)

print(y)

# [[6.59 3.79 8.15]

#  [1.68 3.79 7.69]

#  [2.84 9.58 7.87]]

向上下取整 

numpy.ceil(x, *args, **kwargs)——向上取整 

Return the ceiling of the input, element-wise. 

x = np.random.rand(3, 3) * 10

print(x)

# [[0.67847795 1.33073923 4.53920122]

#  [7.55724676 5.88854047 2.65502046]

#  [8.67640444 8.80110812 5.97528726]]

y = np.ceil(x)

print(y)

# [[1. 2. 5.]

#  [8. 6. 3.]

#  [9. 9. 6.]]

numpy.floor(x, *args, **kwargs) ——向下取整 

Return the floor of the input, element-wise 

y = np.floor(x)

print(y)

# [[0. 1. 4.]

#  [7. 5. 2.]

#  [8. 8. 5.]]

其它 

numpy.clip(a, a_min, a_max, out=None, **kwargs) —— 限制值范围 

Clip (limit) the values in an array 

x = np.array([[11, 12, 13, 14, 15],

              [16, 17, 18, 19, 20],

              [21, 22, 23, 24, 25],

              [26, 27, 28, 29, 30],

              [31, 32, 33, 34, 35]])

y = np.clip(x, a_min=20, a_max=30)

print(y)

# [[20 20 20 20 20]

#  [20 20 20 20 20]

#  [21 22 23 24 25]

#  [26 27 28 29 30]

#  [30 30 30 30 30]]

numpy.absolute(x, *args, **kwargs) /numpy.abs(x, *args, **kwargs) —— 绝对值 

abs是对absolute的简写形势 

x = np.arange(-5, 5)

print(x)

# [-5 -4 -3 -2 -1  0  1  2  3  4]

y = np.abs(x)

print(y)

# [5 4 3 2 1 0 1 2 3 4]

y = np.absolute(x)

print(y)

# [5 4 3 2 1 0 1 2 3 4]

numpy.sign(x, *args, **kwargs) ——正负性返回 

Returns an element-wise indication of the sign of a number. 

x = np.arange(-5, 5)

print(x)

#[-5 -4 -3 -2 -1  0  1  2  3  4]

print(np.sign(x))

#[-1 -1 -1 -1 -1  0  1  1  1  1]

逻辑函数 

真值判断numpy.all(任意真则真)、numpy.any(存在真则真) 

numpy.all(a, axis=None, out=None, keepdims=np._NoValue) Test whether all array elements along a given axis evaluate to True.numpy.any(a, axis=None, out=None, keepdims=np._NoValue) Test whether any array element along a given axis evaluates to True. 

a = np.array([0, 4, 5])

b = np.copy(a)

print(np.all(a == b))  # True

print(np.any(a == b))  # True

b[0] = 1

print(np.all(a == b))  # False

print(np.any(a == b))  # True

print(np.all([1.0, np.nan]))  # True

print(np.any([1.0, np.nan]))  # True

a = np.eye(3)

print(np.all(a, axis=0))  # [False False False]

print(np.any(a, axis=0))  # [ True  True  True]

逻辑运算 

与、或、非、异或 

numpy.logical_and(x1, x2, *args, **kwargs) 

Compute the truth value of x1 AND x2 element-wise. 

numpy.logical_or(x1, x2, *args, **kwargs) 

Compute the truth value of x1 OR x2 element-wise. 

numpy.logical_not(x, *args, **kwargs) 

Compute the truth value of NOT x element-wise. 

numpy.logical_xor(x1, x2, *args, **kwargs) 

Compute the truth value of x1 XOR x2, element-wise. 

print(np.logical_not(3))  

# False

print(np.logical_not([True, False, 0, 1]))

# [False  True  True False]

x = np.arange(5)

print(np.logical_not(x < 3))

# [False False False  True  True]

【例】计算x1 AND x2元素的真值。

print(np.logical_and(True, False))  

# False

print(np.logical_and([True, False], [True, False]))

# [ True False]

print(np.logical_and(x > 1, x < 4))

# [False False  True  True False]

【例】逐元素计算x1 OR x2的真值。

print(np.logical_or(True, False))

# True

print(np.logical_or([True, False], [False, False]))

# [ True False]

print(np.logical_or(x < 1, x > 3))

# [ True False False False  True]

【例】计算x1 XOR x2的真值,按元素计算。

print(np.logical_xor(True, False))

# True

print(np.logical_xor([True, True, False, False], [True, False, True, False]))

# [False  True  True False]

print(np.logical_xor(x < 1, x > 3))

# [ True False False False  True]

print(np.logical_xor(0, np.eye(2)))

# [[ True False]

#  [False  True]]

比较(大于、小于、等于、不大于、不小于) 

numpy.greater(x1, x2, *args, **kwargs) 

Return the truth value of (x1 > x2) element-wise. 

numpy.greater_equal(x1, x2, *args, **kwargs) 

Return the truth value of (x1 >= x2) element-wise. 

numpy.equal(x1, x2, *args, **kwargs) 

Return (x1 == x2) element-wise. 

numpy.not_equal(x1, x2, *args, **kwargs) 

Return (x1 != x2) element-wise. 

numpy.less(x1, x2, *args, **kwargs) 

Return the truth value of (x1 < x2) element-wise. 

numpy.less_equal(x1, x2, *args, **kwargs) 

Return the truth value of (x1 =< x2) element-wise. 

x = np.array([1, 2, 3, 4, 5, 6, 7, 8])

y = x > 2

print(y)

print(np.greater(x, 2))

# [False False  True  True  True  True  True  True]

y = x >= 2

print(y)

print(np.greater_equal(x, 2))

# [False  True  True  True  True  True  True  True]

y = x == 2

print(y)

print(np.equal(x, 2))

# [False  True False False False False False False]

y = x != 2

print(y)

print(np.not_equal(x, 2))

# [ True False  True  True  True  True  True  True]

y = x < 2

print(y)

print(np.less(x, 2))

# [ True False False False False False False False]

y = x <= 2

print(y)

print(np.less_equal(x, 2))

# [ True  True False False False False False False]

比较时可以存在广播 

x = np.array([[11, 12, 13, 14, 15],

              [16, 17, 18, 19, 20],

              [21, 22, 23, 24, 25],

              [26, 27, 28, 29, 30],

              [31, 32, 33, 34, 35]])

np.random.seed(20200611)

y = np.random.randint(10, 50, 5)

print(y)

# [32 37 30 24 10]

z = x > y

print(z)

print(np.greater(x, y))

# [[False False False False  True]

#  [False False False False  True]

#  [False False False False  True]

#  [False False False  True  True]

#  [False False  True  True  True]]

z = x >= y

print(z)

print(np.greater_equal(x, y))

# [[False False False False  True]

#  [False False False False  True]

#  [False False False  True  True]

#  [False False False  True  True]

#  [False False  True  True  True]]

z = x == y

print(z)

print(np.equal(x, y))

# [[False False False False False]

#  [False False False False False]

#  [False False False  True False]

#  [False False False False False]

#  [False False False False False]]

z = x != y

print(z)

print(np.not_equal(x, y))

# [[ True  True  True  True  True]

#  [ True  True  True  True  True]

#  [ True  True  True False  True]

#  [ True  True  True  True  True]

#  [ True  True  True  True  True]]

z = x < y

print(z)

print(np.less(x, y))

# [[ True  True  True  True False]

#  [ True  True  True  True False]

#  [ True  True  True False False]

#  [ True  True  True False False]

#  [ True  True False False False]]

z = x <= y

print(z)

print(np.less_equal(x, y))

# [[ True  True  True  True False]

#  [ True  True  True  True False]

#  [ True  True  True  True False]

#  [ True  True  True False False]

#  [ True  True False False False]]

0 人点赞