Numpy库03_数据运算

#运算 import numpy as np #列表相乘 # ll=[1,2,3,4,5] # ll2=ll*2 # [1, 2, 3, 4, 5, 1, 2, 3, 4, 5] # print(ll2) # 列表相加 # ll3=[1,2,3,4,5] # ll4=ll3+10 #报错,不能这样用 # print(ll4) #numpy中数组相加 # nparr1=np.arange(0,10) # print(nparr1) # [0 1 2 3 4 5 6 7 8 9] # print(nparr1+10) # [10 11 12 13 14 15 16 17 18 19] 每个元素加,可以加 # print(nparr1*10) # [ 0 10 20 30 40 50 60 70 80 90] 每个元素乘,可以乘 # nparr2=np.arange(0,10).reshape(2,5) # print(nparr2) # print(nparr2*10) # print(nparr2+10) # 以上都可以,它的运算都直接进去对每个元素进行运算了 #举例np的通用函数 # nparr3=np.arange(-10,3) # print(nparr3) # print(np.abs(nparr3)) #不改变原数据, # print(nparr3) #数组的逻辑运算,这要用到三个数组 # nparr4=np.array([1,2,3,4,5]) # nparr5=np.array([6,7,8,9,10]) # nparr6=np.array([True,True,False,False,True]) # nparr7=[(x if z else y) for x,y,z in zip(nparr4,nparr5,nparr6)] # print(nparr7) # [1, 2, 8, 9, 5] 数据类型变为list了。 # print(type(nparr7)) # #np.where()函数能实现上面的运算 # nparr8=np.where(nparr6,nparr4,nparr5) # print(nparr8) # [1 2 8 9 5] #where()函数的其它用法,条件选择函数 # nparr9=np.random.randn(5,5) # print(nparr9) # print("______________________") # nparr10=np.where(nparr9>0,1,-1) #里面就是条件,前面条件为直,变为1,为假变为-1,不改变原数据 # print(nparr10) # print("______________________") # print(nparr9) #来,继续挖where的用法,多条件选择,即np.where的嵌套使用 # nparr11=np.random.randint(10,40,size=(4,4)) # print(nparr11) # #要求,大于10的数标2,大于20的数标3,大于30的数标4 # nparr12=np.where(nparr11>=30,4,np.where(nparr11>=20,3,2)) # print(nparr12) # 统计运算 nparr13=np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]]) # print(nparr13) # print(nparr13.sum()) #求所有元素的和 # print(nparr13.sum(axis=0)) #y轴的和组成的数组 # print(nparr13.mean()) #求所有元素的平均数 # print(nparr13.mean(axis=1)) #0=y轴平均,1=x轴平均 # print(nparr13.std()) #标准差 #什么是标准差 """ 标准差(Standard Deviation) ,中文环境中又常称均方差,是离均差平方的算术平均数的平方根, 用σ表示。标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。 平均数相同的两组数据,标准差未必相同。 """ # nparr14=np.array([[1,2,3,4], # [5,6,7,8], # [9,10,11,12]]) # print(nparr14.max(axis=1)) #最大max(),最小min(),都可以加axis轴,axis可以省略 # # print(nparr14.argmax()) #最大值索引 # print(nparr14.cumsum()) #[ 1 3 6 10 15 21 28 36 45 55 66 78]累计和,有意思,前几个相加得下一个数 # print(nparr14.cumsum(0)) #axis可以省略,直接0或1即可 # print(nparr14.cumprod()) #累计积,同上面累计和同 #排序 # nparr15=np.array([[1,8,3,4], # [5,6,7,4], # [9,1,11,2]]) # print(nparr15) # # nparr15.sort() #排序,改变了原数据,多维默认x轴排序 # nparr15.sort(0) #排序,改变了原数据,多维默认x轴排序,0表y轴排 # print(nparr15) #集合运算 #一维数组的集合运算,提供了唯一,也就是去重运算unique # nparr16=np.array([1,2,3,2,4,6,18,6,22,15,15,18]) # print(nparr16) # nparr17=np.unique(nparr16) #不改变原数据,去重,还从小到大排好了序 # print(nparr16) # print(nparr17) # nparr19=np.array([[1,8,3,4], # [5,6,7,4], # [9,1,11,2]]) # nparr20=np.unique(nparr19) #多维的话,就转成了一维,也去重了。[ 1 2 3 4 5 6 7 8 9 11] # print(nparr20) """ #集合运算: unique() 唯一值,去重 intersectld() 公共元素 unionld() 并集 inld() 是否存在,返回 bool 值 setdiffld() 集合的差 setxorld() 交集取反 """ #线性代数: 买本书来学习

猜你喜欢

转载自www.cnblogs.com/yiyea/p/11441755.html
今日推荐