Python开发---29numpy

Posted 兰智杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发---29numpy相关的知识,希望对你有一定的参考价值。

Numpy算数运算

  数组不用循环即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化,用数组表达式代替循环的做法,矢量化数组运算性能比纯Python方式快上一两个数据级,大小相等的两个数组之间的任何算术运算都会将其运算应用到元素级上的操作

  元素级操作:在NumPy中,大小相等的数组之间的运算,为元素级运算,即只用于位置相同的元素之间,所得的运算结果组成一个新的数组,运算结果的位置跟操作数位置相同

import numpy as np
a = np.arange(3).reshape(3)
b = np.array([2,3,4])
print(a)                                #输出为 [0 1 2]
print(b)                                #输出为 [2 3 4]
#标量运算
print(a+1)                              #输出为 [1 2 3]
print(a-1)                              #输出为 [-1  0  1]
print(a*2)                              #输出为 [0 2 4]
print(a/2)                              #输出为 [0.  0.5 1. ]
print(2/b)                              #输出为 [1.         0.66666667 0.5       ]
print(a**2)                             #输出为 [0 1 4]
print(2**a)                             #输出为 [1 2 4]
#两个数组相加,以下两种方式输出结果一样
print(a+b)                              #输出为 [2 4 6]
print(np.add(a,b))                      #输出为 [2 4 6]
#两个数组相减,以下两种方式输出结果一样
print(a-b)                              #输出为 [-2 -2 -2]
print(np.subtract(a,b))                 #输出为 [-2 -2 -2]
#两个数组相乘,以下两种方式输出结果一样
print(a*b)                              #输出为 [0 3 8]
print(np.multiply(a,b))                 #输出为 [0 3 8]
#两个数组相除,以下两种方式输出结果一样
print(a/b)                              #输出为 [0.         0.33333333 0.5       ]
print(np.divide(a,b))                   #输出为 [0.         0.33333333 0.5       ]
#两个数组取幂,以下两种方式输出结果一样
print(a**b)                             #输出为 [ 0  1 16]
print(np.power(a,b))                    #输出为 [ 0  1 16]
#mod 两个数组取余,以下两种方式输出结果一样
a = np.array([10,20,30])
b = np.array([3,5,7])
print(np.mod(a,b))                      #输出为 [1 0 2]
print(np.remainder(a,b))                #输出为 [1 0 2]

 

以上是关于Python开发---29numpy的主要内容,如果未能解决你的问题,请参考以下文章

将 python + numpy 代码嵌入到 C++ dll 回调中

乐哥学AI_Python:Numpy索引,切片,常用函数

如何从 boost::python 返回 numpy.array?

Numpy:跨越多通道图像

python:在numpy.ndarray中返回最小值

Python 的 C++ 扩展模块返回一个 Numpy 数组