Day04:Numpy函数

Day04:Numpy函数_第1张图片

数学函数

  1. numpy.add(x1, x2, *args, **kwargs) 按元素添加参数。
  2. numpy.subtract(x1, x2, *args, **kwargs)按元素减去参数。
  3. numpy.multiply(x1, x2, *args, **kwargs) 按元素乘以参数。
  4. numpy.divide(x1, x2, *args, **kwargs) 返回输入的真实除法,按元素划分。
  5. numpy.floor_divide(x1, x2, *args, **kwargs) 返回小于或等于输入除法的最大整数。
  6. numpy.power(x1, x2, *args, **kwargs) 第一个数组元素从第二个数组提升到幂,按元素排序。
  7. numpy.sqrt(x, *args, **kwargs)返回数组的非负平方根,按元素顺序。
  8. numpy.square(x, *args, **kwargs)返回输入的元素平方。
    在 numpy 中对以上函数进行了运算符的重载,且运算符为元素级。也就是说,它们只用于位置相同的元素之间,所得到的运算结果组成一个新的元素或数组。
import numpy as np
x = np.array([1, 2, 3, 4])
y = x + 1
print(y)
print(np.add(x, 1))#元素+1
#[2 3 4 5]
#[2 3 4 5]
y = x - 1
print(y)
print(np.subtract(x, 1))元素-1
#[0 1 2 3]
#[0 1 2 3]
y = x * 2
print(y)
print(np.multiply(x, 2))元素*2
#[2 4 6 8]
#[2 4 6 8]
y = x // 2
print(y)
#[0 1 1 2]
print(np.divide(x, 2))元素/2
#[0.5 1.  1.5 2. ]
y = x / 2
print(y)
print(np.floor_divide(x, 2))
#[0.5 1.  1.5 2. ]
#[0 1 1 2]
y = x ** 2
print(y)
print(np.power(x, 2))
#[ 1  4  9 16]
#[ 1  4  9 16]
y = np.sqrt(x)
print(y)
print(np.power(x, 0.5))
#[1.         1.41421356 1.73205081 2.        ]
#[1.         1.41421356 1.73205081 2.        ]
y = np.square(x)
print(y)
print(np.power(x, 2))
#[ 1  4  9 16]
#[ 1  4  9 16]

三角函数

  1. numpy.sin(x, *args, **kwargs)正弦函数
  2. numpy.cos(x, *args, **kwargs)余弦函数
  3. numpy.tan(x, *args, **kwargs)正切函数
  4. numpy.arcsin(x, *args, **kwargs)反正弦函数
  5. numpy.arccos(x, *args, **kwargs)反余弦函数
  6. numpy.arctan(x, *args, **kwargs)余切函数

通用函数(universal function)通常叫作ufunc,它对数组中的各个元素逐一进行操作。这表明,通用函数分别处理输入数组的每个元素,生成的结果组成一个新的输出数组。输出数组的大小跟输入数组相同。
三角函数等很多数学运算符合通用函数的定义,例如,计算平方根的 sqrt() 函数、用来取对数的 log() 函数和求正弦值的 sin() 函数。

import numpy as np   #在numpy中有一些数据会产生溢出
x = np.linspace(start=0, stop=np.pi / 2, num=5)
print(x)
#[0.         0.39269908 0.78539816 1.17809725 1.57079633]
y=np.sin(x)
z=np.arcsin(x)
print(y)
print(z)
#[0.         0.38268343 0.70710678 0.92387953 1.        ]
#[0.         0.40356461 0.90333911        nan        nan]
y=np.cos(x)
z=np.arccos(x)
print(y)
print(z)
#[1.00000000e+00 9.23879533e-01 7.07106781e-01 3.82683432e-01
# 6.12323400e-17]
#[1.57079633 1.16723172 0.66745722        nan        nan]
y=np.tan(x)
z=np.arctan(x)
print(y)
print(z)
#[0.00000000e+00 4.14213562e-01 1.00000000e+00 2.41421356e+00
# 1.63312394e+16]
#[0.         0.37419668 0.66577375 0.86698401 1.00388482]

这里穿插一点linspace()函数的知识点
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)start~stop为所取数据的区间,num的值为需要输出的样本数量(均匀的)endpoint和retstep输出的是bool值
具体详情可以参考如下博客
linspace()函数

对数函数

  1. numpy.exp(x, *args, **kwargs) 计算输入数组中所有元素的指数。
  2. numpy.log(x, *args, **kwargs)自然对数(默认为e)。
  3. numpy.exp2(x, *args, kwargs) 计算输入数组中的所有p的2p。
  4. numpy.log2(x, *args, **kwargs)基数为2的对数
  5. numpy.log10(x, *args, **kwargs)返回输入数组的基本10对数,按元素顺序。
import numpy as np
x = np.arange(1, 5)
print(x)
y=np.exp(x)#e为底数的指数函数
print(y)
y=np.log(x)#默认e为底数的对数函数
print(y)
y=np.exp2(x)#底数为2的指数函数 
print(y)
y=np.log2(x)
print(y)
#[1 2 3 4]
#[ 2.71828183  7.3890561  20.08553692 54.59815003]
#[0.         0.69314718 1.09861229 1.38629436]
#[ 2.  4.  8. 16.]
#[0.        1.        1.5849625 2.       ]

加法,乘法函数

  • numpy.sum(a[, axis=None, dtype=None, out=None, …])给定轴上的数组元素之和。通过不同的 axis ,numpy 会沿着不同的方向进行操作:如果不设置,那么对所有的元素操作;如果 axis=0 ,则沿着纵轴进行操作; axis=1 ,则沿着横轴进行操作。如果axis=i ,则 numpy 沿着第 i 个下标变化的方向进行操作。
  • numpy.cumsum(a, axis=None, dtype=None, out=None)返回元素沿给定轴的累积和。聚合函数是指对一组值(比如一个数组)进行操作,返回一个单一值作为结果的函数。因而,求数组所有元素之和的函数就是聚合函数。 ndarray 类实现了多个这样的函数。
  • 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个离散差分计算;
    a.a:输入矩阵
    b.n:可选,代表要执行几次差值
    c.axis:默认是最后一个
    第一个差是由out[i] = a[i+1] - a[i] 沿给定轴,使用递归较高的差异计算。
import numpy as np
x=np.array([[1,2,3],[4,5,6],[7,8,9]])
y = np.sum(x)
print(y)
y=np.sum(x,axis=0)
print(y)
y=np.sum(x,axis=1)
print(y)
y=np.cumsum(x)
print(y)
y=np.cumsum(x,axis=0)
print(y)
y=np.cumsum(x,axis=1)
print(y)
#45
#[12 15 18]
#[ 6 15 24]
#[ 1  3  6 10 15 21 28 36 45]
#[[ 1  2  3]
# [ 5  7  9]
# [12 15 18]]
#[[ 1  3  6]
# [ 4  9 15]
# [ 7 15 24]]
y=np.prod(x)
print(y)
y=np.prod(x,axis=0)
print(y)
y=np.prod(x,axis=1)
print(y)
y=np.cumprod(x)
print(y)
y=np.cumprod(x,axis=0)
print(y)
y=np.cumprod(x,axis=1)
print(y)
#362880
#[ 28  80 162]
#[  6 120 504]
#[     1      2      6     24    120    720   5040  40320 362880]
#[[  1   2   3]
# [  4  10  18]
# [ 28  80 162]]
#[[  1   2   6]
# [  4  20 120]
# [  7  56 504]]
  • 差异计算

你可能感兴趣的:(Datawhale学习,numpy,数据分析,python)