ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:27.05KB ,
资源ID:11467814      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11467814.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Python之Numpy模块100道测试题.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Python之Numpy模块100道测试题.docx

1、Python之Numpy模块100道测试题1. 导入numpy库并简写为 np ()(提示: import as )importnumpyasnp2. 打印numpy的版本和配置说明 ()(提示: np.version, np.show_config)print(np._version_)np.show_config()3. 创建一个长度为10的空向量 ()(提示: np.zeros)Z=np.zeros(10)print(Z)4. 如何找到任何一个数组的内存大小?()(提示: size, itemsize)Z=np.zeros(10,10)print(%dbytes%(Z.size*Z.it

2、emsize)5. 如何从命令行得到numpy中add函数的说明文档? ()(提示: np.info)numpy.info(numpy.add)add(x1, x2, /, out=None, *, where=True, casting=same_kind, order=K, dtype=None, subok=True, signature, extobj)6. 创建一个长度为10并且除了第五个值为1的空向量 ()(提示: array4)Z=np.zeros(10)Z4=1print(Z)7. 创建一个值域范围从10到49的向量()(提示: np.arange)Z=np.arange(10

3、,50)print(Z)8. 反转一个向量(第一个元素变为最后一个) ()(提示: array:-1)Z=np.arange(50)Z=Z:-1print(Z)9. 创建一个 3x3 并且值从0到8的矩阵()(提示: reshape)Z=np.arange(9).reshape(3,3)print(Z)10. 找到数组1,2,0,0,4,0中非0元素的位置索引 ()(提示: np.nonzero)nz=np.nonzero(1,2,0,0,4,0)print(nz)11. 创建一个 3x3 的单位矩阵 ()(提示: np.eye)Z=np.eye(3)print(Z)12. 创建一个 3x3x

4、3的随机数组 ()(提示: np.random.random)Z=np.random.random(3,3,3)print(Z)13. 创建一个 10x10 的随机数组并找到它的最大值和最小值 ()(提示: min, max)Z=np.random.random(10,10)Zmin,Zmax=Z.min(),Z.max()print(Zmin,Zmax)14. 创建一个长度为30的随机向量并找到它的平均值 ()(提示: mean)Z=np.random.random(30)m=Z.mean()print(m)15. 创建一个二维数组,其中边界值为1,其余值为0 ()(提示: array1:-

5、1, 1:-1)Z=np.ones(10,10)Z1:-1,1:-1=0print(Z)16. 对于一个存在在数组,如何添加一个用0填充的边界? ()(提示: np.pad)Z=np.ones(5,5)Z=np.pad(Z,pad_width=1,mode=constant,constant_values=0)print(Z)17. 以下表达式运行的结果分别是什么? ()(提示: NaN = not a number, inf = infinity)0 * np.nannp.nan = np.nannp.inf np.nannp.nan - np.nan0.3 = 3 * 0.1print(0

6、*np.nan)print(np.nan=np.nan)print(np.infnp.nan)print(np.nan-np.nan)print(0.3=3*0.1)18. 创建一个 5x5的矩阵,并设置值1,2,3,4落在其对角线下方位置 ()(提示: np.diag)Z=np.diag(1+np.arange(4),k=-1)print(Z)19. 创建一个8x8 的矩阵,并且设置成棋盘样式 ()(提示: array:2)Z=np.zeros(8,8),dtype=int)Z1:2,:2=1Z:2,1:2=1print(Z)20. 考虑一个 (6,7,8) 形状的数组,其第100个元素的索

7、引(x,y,z)是什么?(提示: np.unravel_index)print(np.unravel_index(100,(6,7,8)21. 用tile函数去创建一个 8x8的棋盘样式矩阵()(提示: np.tile)Z=np.tile(np.array(0,1,1,0),(4,4)print(Z)22. 对一个5x5的随机矩阵做归一化()(提示: (x - min) / (max - min)Z=np.random.random(5,5)Zmax,Zmin=Z.max(),Z.min()Z=(Z-Zmin)/(Zmax-Zmin)print(Z)23. 创建一个将颜色描述为(RGBA)四个

8、无符号字节的自定义dtype?()(提示: np.dtype)color=np.dtype(r,np.ubyte,1),(g,np.ubyte,1),(b,np.ubyte,1),(a,np.ubyte,1)color24. 一个5x3的矩阵与一个3x2的矩阵相乘,实矩阵乘积是什么?()(提示: np.dot | )Z=np.dot(np.ones(5,3),np.ones(3,2)print(Z)25. 给定一个一维数组,对其在3到8之间的所有元素取反 ()(提示: , =)Z=np.arange(11)Z(3Z)&(Z=8)*=-1print(Z)26. 下面脚本运行后的结果是什么? ()

9、(提示: np.sum)print(sum(range(5),-1)from numpy import *print(sum(range(5),-1)print(sum(range(5),-1)fromnumpyimport*print(sum(range(5),-1)27. 考虑一个整数向量Z,下列表达合法的是哪个? ()Z*Z2 2Z - Z 1j*Z Z/1/1 ZZZ=np.arange(5)Z*Z#legalarray( 1, 1, 4, 27, 256)Z=np.arange(5)22#falsearray(0, 1, 2, 4, 8)Z=np.arange(5)Z-Z#legal

10、array(False, False, False, False, False)Z=np.arange(5)1j*Z#legalarray(0.+0.j, 0.+1.j, 0.+2.j, 0.+3.j, 0.+4.j)Z=np.arange(5)Z/1/1#legalarray(0., 1., 2., 3., 4.)Z=np.arange(5)ZZ#falseValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()28. 下列表达式的结果分别是什

11、么?()np.array(0) / np.array(0)np.array(0) / np.array(0)np.array(np.nan).astype(int).astype(float)print(np.array(0)/np.array(0)print(np.array(0)/np.array(0)print(np.array(np.nan).astype(int).astype(float)29. 如何从零位对浮点数组做舍入 ? ()(提示: np.uniform, np.copysign, np.ceil, np.abs)Z=np.random.uniform(-10,+10,10

12、)print(np.copysign(np.ceil(np.abs(Z),Z)30. 如何找到两个数组中的共同元素? ()(提示: np.intersect1d)Z1=np.random.randint(0,10,10)Z2=np.random.randint(0,10,10)print(np.intersect1d(Z1,Z2)31. 如何忽略所有的 numpy 警告(尽管不建议这么做)? ()(提示: np.seterr, np.errstate)#Suicidemodeondefaults=np.seterr(all=ignore)Z=np.ones(1)/0#Backtosanity_

13、=np.seterr(*defaults)An equivalent way, with a context manager:withnp.errstate(divide=ignore):Z=np.ones(1)/032. 下面的表达式是正确的吗? ()(提示: imaginary number)np.sqrt(-1) = np.emath.sqrt(-1)np.sqrt(-1)=np.emath.sqrt(-1)False33. 如何得到昨天,今天,明天的日期? ()(提示: np.datetime64, np.timedelta64)yesterday=np.datetime64(toda

14、y,D)-np.timedelta64(1,D)today=np.datetime64(today,D)tomorrow=np.datetime64(today,D)+np.timedelta64(1,D)print(Yesterdayis+str(yesterday)print(Todayis+str(today)print(Tomorrowis+str(tomorrow)34. 如何得到所有与2016年7月对应的日期?()(提示: np.arange(dtype=datetime64D)Z=np.arange(2016-07,2016-08,dtype=datetime64D)print(

15、Z)35. 如何直接在位计算(A+B)*(-A/2)(不建立副本)? ()(提示: np.add(out=), np.negative(out=), np.multiply(out=), np.divide(out=)A=np.ones(3)*1B=np.ones(3)*2C=np.ones(3)*3np.add(A,B,out=B)np.divide(A,2,out=A)np.negative(A,out=A)np.multiply(A,B,out=A)array(-1.5, -1.5, -1.5)36. 用五种不同的方法去提取一个随机数组的整数部分()(提示: %, np.floor, n

16、p.ceil, astype, np.trunc)Z=np.random.uniform(0,10,10)print(Z-Z%1)print(np.floor(Z)print(np.ceil(Z)-1)print(Z.astype(int)print(np.trunc(Z)37. 创建一个5x5的矩阵,其中每行的数值范围从0到4 ()(提示: np.arange)Z=np.zeros(5,5)Z+=np.arange(5)print(Z)38. 通过考虑一个可生成10个整数的函数,来构建一个数组()(提示: np.fromiter)defgenerate():forxinrange(10):y

17、ieldxZ=np.fromiter(generate(),dtype=float,count=-1)print(Z)0. 1. 2. 3. 4. 5. 6. 7. 8. 9.39. 创建一个长度为10的随机向量,其值域范围从0到1,但是不包括0和1 ()(提示: np.linspace)Z=np.linspace(0,1,11,endpoint=False)1:print(Z)40. 创建一个长度为10的随机向量,并将其排序 ()(提示: sort)Z=np.random.random(10)Z.sort()print(Z)41.对于一个小数组,如何用比 np.sum更快的方式对其求和?()

18、(提示: np.add.reduce)Z=np.arange(10)np.add.reduce(Z)42. 对于两个随机数组A和B,检查它们是否相等()(提示: np.allclose, np.array_equal)A=np.random.randint(0,2,5)B=np.random.randint(0,2,5)#Assumingidenticalshapeofthearraysandatoleranceforthecomparisonofvaluesequal=np.allclose(A,B)print(equal)False#方法2#Checkingboththeshapeandt

19、heelementvalues,notolerance(valueshavetobeexactlyequal)equal=np.array_equal(A,B)print(equal)False43. 创建一个只读数组(read-only) ()(提示: flags.writeable)#使用如下过程实现Z=np.zeros(10)Z.flags.writeable=FalseZ0=144. 将笛卡尔坐标下的一个10x2的矩阵转换为极坐标形式()(hint: np.sqrt, np.arctan2)Z=np.random.random(10,2)X,Y=Z:,0,Z:,1R=np.sqrt(X

20、*2+Y*2)T=np.arctan2(Y,X)print(R)print(T)45. 创建一个长度为10的向量,并将向量中最大值替换为1 ()(提示: argmax)Z=np.random.random(10)ZZ.argmax()=0print(Z)46. 创建一个结构化数组,并实现 x 和 y 坐标覆盖 0,1x0,1 区域 ()(提示: np.meshgrid)Z=np.zeros(5,5),(x,float),(y,float)Zx,Zy=np.meshgrid(np.linspace(0,1,5),np.linspace(0,1,5)print(Z)47. 给定两个数组X和Y,构造

21、Cauchy矩阵C (Cij =1/(xi - yj)(提示: np.subtract.outer)X=np.arange(8)Y=X+0.5C=1.0/np.subtract.outer(X,Y)print(np.linalg.det(C)48. 打印每个numpy标量类型的最小值和最大值?()(提示: np.iinfo, np.finfo, eps)fordtypeinnp.int8,np.int32,np.int64:print(np.iinfo(dtype).min)print(np.iinfo(dtype).max)fordtypeinnp.float32,np.float64:pr

22、int(np.finfo(dtype).min)print(np.finfo(dtype).max)print(np.finfo(dtype).eps)49. 如何打印一个数组中的所有数值? ()(提示: np.set_printoptions)np.set_printoptions(threshold=np.nan)Z=np.zeros(16,16)print(Z)50. 给定标量时,如何找到数组中最接近标量的值?()(提示: argmin)Z=np.arange(100)v=np.random.uniform(0,100)index=(np.abs(Z-v).argmin()print(Z

23、index)51. 创建一个表示位置(x,y)和颜色(r,g,b)的结构化数组()(提示: dtype)Z=np.zeros(10,(position,(x,float,1),(y,float,1),(color,(r,float,1),(g,float,1),(b,float,1)print(Z)52. 对一个表示坐标形状为(100,2)的随机向量,找到点与点的距离()(提示: np.atleast_2d, T, np.sqrt)Z=np.random.random(10,2)X,Y=np.atleast_2d(Z:,0,Z:,1)D=np.sqrt(X-X.T)*2+(Y-Y.T)*2)p

24、rint(D)#方法2#Muchfasterwithscipyimportscipy#ThanksGavinHeverly-Coulson(#issue1)importscipy.spatialD=scipy.spatial.distance.cdist(Z,Z)print(D)53. 如何将32位的浮点数(float)转换为对应的整数(integer)?(提示: astype(copy=False)Z=np.arange(10,dtype=np.int32)Z=Z.astype(np.float32,copy=False)print(Z)54. 如何读取以下文件? ()(提示: np.gen

25、fromtxt)1,2,3,4,56,7,8,9,10,11参考链接:https:/docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.genfromtxt.html55. 对于numpy数组,enumerate的等价操作是什么?()(提示: np.ndenumerate, np.ndindex)Z=np.arange(9).reshape(3,3)forindex,valueinnp.ndenumerate(Z):print(index,value)forindexinnp.ndindex(Z.shape):print(inde

26、x,Zindex)56. 生成一个通用的二维Gaussian-like数组 ()(提示: np.meshgrid, np.exp)X,Y=np.meshgrid(np.linspace(-1,1,10),np.linspace(-1,1,10)D=np.sqrt(X*X+Y*Y)sigma,mu=1.0,0.0G=np.exp(-(D-mu)*2/(2.0*sigma*2)print(G)57. 对一个二维数组,如何在其内部随机放置p个元素? ()(提示: np.put, np.random.choice)n=10p=3Z=np.zeros(n,n)np.put(Z,np.random.choice(range(n*n),p,replace=False),1)print(Z)58. 减去一个矩阵中的每一行的平均值 ()(提示: mean(axis=,keepdims=)X=np.random.rand(5,10)#RecentversionsofnumpyY=X-X.mean(axis=1,keepdims=True)print(Y)#方法2#OlderversionsofnumpyY

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1