1. 算术函数

  如果参与运算的两个对象 都是 ndarray,并且形状相同,那么会对位彼此之间进行(+- * /)运算。

NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()。

import numpy as np
a = np.arange(9, dtype=float).reshape(3,3)
b = np.array([10,10,10])
print("第一个数组a:", a)
print("第二个数组b:", b)

print("两个数组进行加法运算 add ")
print(np.add(a, b))
print("两个数组进行加法运算 + ")
print(a + b)

print("两个数组进行减法运算 substract ")
print(np.subtract(a, b))
print("两个数组进行减法运算 - ")
print(a - b)

print("两个数组进行乘法运算 multiply ")
print(np.multiply(a, b))
print("两个数组进行乘法运算 * ")
print(a * b)

print("两个数组进行除法运算 divide ")
print(np.divide(a, b))
print("两个数组进行除法运算 / ")
print(a / b)

第一个数组a: [[0. 1. 2.]

 [3. 4. 5.]

 [6. 7. 8.]]

第二个数组b: [10 10 10]

两个数组进行加法运算 add 

[[10. 11. 12.]

 [13. 14. 15.]

 [16. 17. 18.]]

两个数组进行加法运算 + 

[[10. 11. 12.]

 [13. 14. 15.]

 [16. 17. 18.]]

两个数组进行减法运算 substract 

[[-10.  -9.  -8.]

 [ -7.  -6.  -5.]

 [ -4.  -3.  -2.]]

两个数组进行减法运算 - 

[[-10.  -9.  -8.]

 [ -7.  -6.  -5.]

 [ -4.  -3.  -2.]]

两个数组进行乘法运算 multiply 

[[ 0. 10. 20.]

 [30. 40. 50.]

 [60. 70. 80.]]

两个数组进行乘法运算 * 

[[ 0. 10. 20.]

 [30. 40. 50.]

 [60. 70. 80.]]

两个数组进行除法运算 divide 

[[0.  0.1 0.2]

 [0.3 0.4 0.5]

 [0.6 0.7 0.8]]

两个数组进行除法运算 / 

[[0.  0.1 0.2]

 [0.3 0.4 0.5]

 [0.6 0.7 0.8]]

【例子】通用函数指定输出结果的用法

import numpy
x = numpy.arange(5)
y = numpy.empty(5)
print(x)
print(y)
numpy.multiply(x,10,out=y)
print(y)

[0 1 2 3 4]

[9.90263869e+067 8.01304531e+262 2.60799828e-310 6.01346930e-154

 3.29216432e+180]

[ 0. 10. 20. 30. 40.]

2. 数学函数

sin()、cos()、tan()。
【示例】三角函数的使用

import numpy
a = numpy.array([0,30,45,60,90])

'''通过乘 pi/180 转化为弧度'''

print("不同角度的正弦值:")
print(numpy.sin(a * numpy.pi/180))

print("数组中角度的余弦值:")
print(numpy.cos(a * numpy.pi/180))

print("数组中角度的正切值:")
print(numpy.tan(a * numpy.pi/180))

不同角度的正弦值:

[0.         0.5        0.70710678 0.8660254  1.        ]

数组中角度的余弦值:

[1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01

 6.12323400e-17]

数组中角度的正切值:

[0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00

 1.63312394e+16]

numpy.around() 函数返回指定数字的四舍五入值。 

  numpy.around(a, decimals)   

参数说明:

  • a:       数组
  • decimals:   舍入的小数位数。 默认值为 0。 如果为负,整数将四舍五入到小数点左侧的位置

numpy.floor()   返回数字的下舍整数。
numpy.ceil()   返回数字的上入整数。

import numpy
a = numpy.array([1.0, 4.55, 123, 0.576, 25.543])
print("原数组:", a)
print("around舍入后:", numpy.around(a) )
print("around舍入到1位小数:", numpy.around(a, decimals=1) )
print("around舍入到小数点左1位:", numpy.around(a, decimals=-1) )
print("floor向下取整:", numpy.floor(a) )
print("ceil向上取整:", numpy.ceil(a) )

原数组: [  1.      4.55  123.      0.576  25.543]

around舍入后: [  1.   5. 123.   1.  26.]

around舍入到1位小数: [  1.    4.6 123.    0.6  25.5]

around舍入到小数点左1位: [  0.   0. 120.   0.  30.]

floor向下取整: [  1.   4. 123.   0.  25.]

ceil向上取整: [  1.   5. 123.   1.  26.]

3. 聚合函数

  NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等。 

函数名

  说明

numpy.sum()

  求和

numpy.prod()

  所有元素相乘

numpy.mean()

  平均值。返回数组中元素的算术平均值。如果提供了轴,则沿其计算。算术平均值是沿轴的元素的总和除以元素的数量。

numpy.std()

  标准差

numpy.var()

  方差

numpy.median()

  中数

numpy.power()

  幂运算。将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂。

numpy.sqrt()

  开方

numpy.min()

  最小值

numpy.max()

  最大值

numpy.argmin()

  最小值的下标

numpy.argmax()

  最大值的下标

numpy.inf

  无穷大

numpy.exp(10)

  以e为底的指数

numpy.log(10)

  对数

numpy.power()  幂运算。将第一个输入数组中的元素作为底数,计算它与第二个输入数组中相应元素的幂。

import numpy

a = numpy.arange(12).reshape(3,4)
print("原来的数组:\n", a)

b = numpy.power(a,2)
print("幂运算后的结果:\n", b)

原来的数组:

 [[ 0  1  2  3]

 [ 4  5  6  7]

 [ 8  9 10 11]]

幂运算后的结果:

 [[  0   1   4   9]

 [ 16  25  36  49]

 [ 64  81 100 121]]

  power 函数指定输出结果的用法 

import numpy
a = numpy.arange(5)
b = numpy.zeros(10)
print("a: ", a)
print("b: ", b)
numpy.power(2,a,out=b[:5])
print("a:", a)
print("b: ", b)

a:  [0 1 2 3 4]

b:  [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

a: [0 1 2 3 4]

b:  [ 1.  2.  4.  8. 16.  0.  0.  0.  0.  0.]

numpy. median ()  取数组的中数

import numpy
a = numpy.array([4,2,1,5])
print("偶数个的中位数:", numpy.median(a))
b = numpy.array([4,2,1])
print("奇数个的中位数:", numpy.median(b))

c = numpy.arange(1,16).reshape(3,5)
print("原来的数组:\n", c)
print("调用median函数:", numpy.median(c))
print("调用median函数,axis=1 行的中值:", numpy.median(c,axis=1))
print("调用median函数,axis=0 列的中值:", numpy.median(c,axis=0))

偶数个的中位数: 3.0

奇数个的中位数: 2.0

原来的数组:

 [[ 1  2  3  4  5]

 [ 6  7  8  9 10]

 [11 12 13 14 15]]

调用median函数: 8.0

调用median函数,axis=1 行的中值: [ 3.  8. 13.]

调用median函数,axis=0 列的中值: [ 6.  7.  8.  9. 10.]

numpy. mean()  平均值。返回数组中元素的算术平均值。如果提供了轴,则沿其计算。算术平均值是沿轴的元素的总和除以元素的数量。

import numpy
a = numpy.arange(1,11).reshape(2,5)
print("原来的数组:\n", a)

print("调用mean函数:", numpy.mean(a))
print("调用mean函数,axis=0 列:", numpy.mean(a,axis=0))
print("调用mean函数,axis=1 行:", numpy.mean(a,axis=1))

原来的数组:

 [[ 1  2  3  4  5]

 [ 6  7  8  9 10]]

调用mean函数: 5.5

调用mean函数,axis=0 列: [3.5 4.5 5.5 6.5 7.5]

调用mean函数,axis=1 行: [3. 8.]