• # np一些基本操作2

`import numpy as nparr1 = np.arange(32).reshape(8,4)print(arr1)arr1 = arr1.reshape(-1);print(arr1)arr2 = np.logspace(1,8,8,base=2).reshape(8,1)print(arr2)##数组广播的规律，要么两个维度相同，要么某一个维度为1##矩阵积为dot A np的行乘以B np的列的和，所以行列要一致。arr3 = [[15930.2,244.2],        [8111.87,148.87],        [13722.46,221.1]]arr3 = np.array(arr3,float);print(arr3.dtype)##利用切片取数组print(arr3[:,0])print("======================================")print(arr3[[0,2]])print("======================================")print(arr3[[0,2],[1,1]])print("======================================")##取多行多列，使用np的索引器，np.ix_(m,n)print(arr3[np.ix_([0,2],[1])])##数组转置arr3 = [[15930.2,244.2],        [8111.87,148.87],        [13722.46,221.1]]arr3 = np.array(arr3)print(arr3.T)xiaoming_score=np.array([100,60,50,65])#取不及格分数print(xiaoming_score >= 60)condition = xiaoming_score >= 60print(xiaoming_score[condition])#取出对应的数,多维同样适用,会降低到一维数据xiaoming_score2=np.array([[100,60,50,65],[20,30,40,50]])print(xiaoming_score2.transpose())#数组的转置和轴兑换##数组的拉伸和合并 (如果reps参数只写一个数值为横向拉伸的倍数，如果使用[m,n] m为纵向 n为横向拉伸的倍数)print(np.tile(xiaoming_score2,[2,1]))print("===================================================")##合并操作xiaoming_2_score = np.array([[90,90,90,90],[88,88,88,88]])print(np.stack([xiaoming_score2,xiaoming_2_score],axis=0))#沿着某一个轴合并 0是两块合并 1是拆快合并 2是拿对应个数合并print("===================================================")##堆叠操作print(np.vstack([xiaoming_score2,xiaoming_2_score]))print(np.hstack([xiaoming_score2,xiaoming_2_score]))##np 的函数操作print("===================================================")arry2 = np.random.randint(-10,10,[3,4])print(arry2)#绝对值print(np.fabs(arry2))print(np.sqrt(arry2))#开方print(np.square(arry2))#平方#exp #计算各个元素的指数e的x次方#log10 log2 log1parr3 = np.arange(1,11)print(arr3)print(np.log2(arr3))#相当于2为底，求arr3每个元素的多少次方等于每个位置元素 eg:1=2^x log就是e为底#np.log1p 以1+x为真数e为底的对数#以5为底 可以利用换底公式arry4 = np.log2(arr3)/np.log2(5)print(arry4)#ceil 向上取整 floor 向下取整np.floor(arry4)print(np.floor(arry4))#四舍五入 np.rint#保留几位小数 np.around(arr4,decumals=2)#modf 把小数拆开成两个数组，返回小数位和整数位#判断元素是否是nan isnan 可以用布尔值索引取出数组中nan ~取反操作#np.isfinite 是否有穷数 isinf(inf 是无穷数)#modarr6 = np.arange(10)print(arr6)print(np.mod(arr6,3))#dot 举证积操作##eg:np.greater(arr5,arr6) less equal less_equal not_equalnp.power(arr6,3)#几次方score = np.array([        [80,90,87,56,77],        [55,45,87,90,98],        [100,12,100,89,77],        [77,33,87,79,60]])print(score)print(np.amax(score))#求成绩的最高分print(np.amax(score,axis=0))#竖向求最大print(np.amax(score,axis=1))#横向求最大print(np.mean(score,axis=1))#横向求平均分#方差和标准差#方差，np.mean(a-a.mean()**2)print(np.mean(np.square(score-np.mean(score))))print(np.var(score))##再开方是标准差 std是直接求标准差random1 = np.random.randint(0,10,10)random2 = np.random.randint(0,10,10)print(random1)print(random2)cond = random1 > random2print([x if z else y for(x,y,z) in zip(random1,random2,cond)])#取较大数合并 多维对比合并用np.where(cond,random1,random2)        #print(x,y,z)# np.unique 去除重复值arr10 = np.random.randint(0,5[5,5])print(arr10)np.unique(arr10)`
• 相关阅读:
【转】常用插件的使用—grunt入门指南（上）
基于Cordova的android项目入门
【转】隐藏元素的子元素隐藏无效
【转】IE7以下绝对定位被某元素遮挡
关于“No projects are found to import”的解决方法
【转】IE6中a标签触发图片和ajax请求被abort
JS小笔记
mysql删除重复数据
国内优秀的团队技术博客
mysql中的union和order by、limit
• 原文地址：https://www.cnblogs.com/yaohaitao/p/10280125.html