Python NumPy安装、导入与入门
·
NumPy是Numerical Python的简称,是Python中专门用于数值计算的软件库,是进行科学计算所必备的基础软件库,很多第三方软件库都是基于NumPy实现的。
NumPy中最常见的类是被称为ndarray的用于操作多维数组的类。
1、NumPy可以通过pip命令安装: pip install numpy。(此处已经安装,若未安装,则执行安装)
2、如果使用集成环境,如PyCharm,在Python packages中搜索,也可以在包中搜索NumPy,然后进行安装。
3、NumPy导入(NumPy作为第三方库必须导入才能使用):import numpy as np
(1)numpy创建一维数组。
import numpy as np a=np.array([1,2,3]) print(a)[1 2 3] import numpy as np data1=[1,2,3,4,5,6,7,8,9] data=np.array(data1) print(data) #[1,2,3,4,5,6,7,8,9] import numpy as np data1=[1,2,3,4,5,6,7,8,9] data=np.array(data1,dtype=float) print(data) #[1. 2. 3. 4. 5. 6. 7. 8. 9.]
(2)执行a*2操作:np中的每个数组元组都变成原来的2倍
import numpy as np a=np.array([1,2,3]) print(a) print(f"a*2:{a*2}")[1 2 3] a*2:[2 4 6]
(3)执行a+10:np中的数组每个元素都+10
import numpy as np a=np.array([1,2,3]) print(a) print(f"a+10:{a+10}")[1 2 3] a+10:[11 12 13]
(4)对列表对象进行乘法运算(这和第2点不一样,请比较)
import numpy as np a=np.array([1,2,3]*3) print(a)[1 2 3 1 2 3 1 2 3]
(5)数组运算(a+b,a-b,a*b,a/b)
import numpy as np a=np.array([1,2,3]) b=np.array([4,5,6]) print(a+b) print(a-b) print(a*b) print(a/b)[-3 -3 -3] [ 4 10 18] [0.25 0.4 0.5 ]
(6)np.dot()内积计算
import numpy as np a=np.array([1,2,3]) b=np.array([4,5,6]) print(np.dot(a,b))32
(7)np.arange()函数
import numpy as np a=np.arange(10) print(a)[0 1 2 3 4 5 6 7 8 9]
(8)np.arange()函数(步长2)
import numpy as np a=np.arange(0,10,2) print(a)[0 2 4 6 8]
(9)np.linspace()函数,等分划分
import numpy as np a=np.linspace(0,14,10) print(a)[ 0. 1.55555556 3.11111111 4.66666667 6.22222222 7.77777778 9.33333333 10.88888889 12.44444444 14. ]
(10)ndim,shape和dtype:ndim,维度,shape是一个表示各维度大小的元组,如(4,3)表示4行3列import numpy as np a=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]]) print(a.ndim) print(a.shape) print(a.dtype)2 (4, 3) int64
(11)np.zeros(10)创建全0一维数组
import numpy as np a=np.zeros(10) print(a)[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
(12)创建4行5列的全0数组
import numpy as np a=np.zeros((4,5)) print(a)[[0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.] [0. 0. 0. 0. 0.]]
(13)np.ones(10)创建全1的一维数组
import numpy as np a=np.ones(10) print(a)[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
(14)类型转换(data.astype(np.float64将data数组转换为float64类型,初始类型为int64)
import numpy as np data1=[1,2,3,4,5,6,7,8,9] data=np.array(data1) print(data.dtype) #int data1=data.astype(np.float64) print(data1.dtype) #float64int64 float64
(15)np.concatenate():连接(合并)a、b两个数组
import numpy as np a=np.array([1,2,3,4,5]) b=np.array([6,7,8,9,10]) c=np.concatenate((a,b)) print(c)[ 1 2 3 4 5 6 7 8 9 10]
(16)np.reshape():改变数组的形状
import numpy as np a=np.array([1,2,3,4,5,6]) b=a.reshape(2,3) print(b)[[1 2 3] [4 5 6]]
(17)np.expand_dims()
import numpy as np a=np.array([1,2,3,4,5,6]) print(a.shape) b=np.expand_dims(a,axis=1) print(b) print(b.shape)(6,) [[1] [2] [3] [4] [5] [6]] (6, 1)
(18)条件判断(>,=,<)
import numpy as np a=np.array([[1,2,3,4,5,6],[10,20,30,40,50,60]]) print(a[a<30])[ 1 2 3 4 5 6 10 20]import numpy as np a=np.array([[1,2,3,4,5,6],[10,20,30,40,50,60]]) print(a[a>=30])[30 40 50 60]
(19)条件判断(%)
import numpy as np a=np.array([[1,2,3,4,5,6],[10,20,30,40,50,60]]) print(a[a%5==0])[ 5 10 20 30 40 50 60]
(20条件判断(&)
(21)条件判断(|)
import numpy as np a=np.array([[1,2,3,4,5,6],[10,20,30,40,50,60]]) print(a[(a>5)&(a<30)])[ 6 10 20]
import numpy as np a=np.array([[1,2,3,4,5,6],[10,20,30,40,50,60]]) print(a[(a<5)|(a>40)])[ 1 2 3 4 50 60]
(22)修改数据类型
import numpy as np arr=np.arange(10) print(arr.dtype) arr.dtype=np.float64 print(arr.dtype)int64 float64
(23)切片与切片广播(这一点与列表不太一样,切片的任何修改都会作用到源数组上)
import numpy as np arr=np.array([0,1,2,3,4,5,6,7,8,9]) print(arr[2:6]) arr[2:6]=88 print(arr)[2 3 4 5] [ 0 1 88 88 88 88 6 7 8 9]import numpy as np data=np.array([1,2,3,4,5,6,7,8,9,10]) data_slice=data[5:8] data_slice[:]=88 print(data) data_slice=data[5:8].copy() data_slice[:]=99 print(data)[ 1 2 3 4 5 88 88 88 9 10] [ 1 2 3 4 5 88 88 88 9 10](24)numpy中的np.hanning()
import numpy as np import matplotlib.pyplot as plt window = np.hanning(50) print('w2:', window) plt.plot(window) plt.show() # np.hanning函数是numpy库中比较常见的函数, # 它生成余弦窗函数或者高斯函数, # 用于过滤或者突出某个物体,输入参数为M, # 输出是一行M列的向量
(25)凯泽窗
import numpy as np
import matplotlib.pyplot as plt
# 调用kaiser函数,以计算凯泽窗
window = np.kaiser(42, 14)
print(window)
# 使用Matplotlib绘制凯泽窗
plt.plot(window)
plt.show()
# np.kaiser
# 函数用于计算凯泽窗。凯泽窗是一种可调整的窗函数,其形状由两个参数控制,常用于数字信号处理中。
# 使用方法
# np.kaiser
# 函数的基本语法如下:
# np.kaiser(M, beta)
# M:表示窗口的长度,即窗函数的样本点数,是一个整数。
# beta:是一个控制窗函数形状的参数,为浮点数。beta
# 值越大,窗函数的主瓣越窄,旁瓣越低。
# 凯泽窗是一种在时域上的窗函数,可用于信号处理中的频谱分析、滤波器设计等。通过调整
# beta参数,可以在主瓣宽度和旁瓣衰减之间进行权衡

更多推荐






所有评论(0)