治疗白癜风有效的方法 http://news.39.net/bjzkhbzy/210725/9229355.htmlNumPy是用于高性能数组实现的最受欢迎的Python库:数组操作比列表操作快得多,列表操作在大数据世界中可能会扩大运行时的差异。根据librarys.io(截至年4月),超过4千的图书馆依赖NumPy,包括最受欢迎的数据科学软件包Pandas和SciPy。NumPy的不同之处在于它提供的面向数组的编程风格。即代替使用条件for循环来处理所述阵列元件(或嵌套的for循环,当涉及到n维时),它提供了函数式、矢量化与内部迭代,使该阵列的操作更为便捷。在本文中,你将发现从全部初学者到高级的10多个综合主题所涵盖的知识。但是,如果你已经掌握了,就可以直接跳到最后两个部分(“进阶”和“高阶教程”),其中将介绍阵列方向的“难题”以及基本的性能提示。到最后,能够将过程编程的样式优化,基于数组的样式,能够达到快速而无循环的效果。数组创建导入NumPy之后importnumpyasnp,我们就可以滚动了:一维我们可以通过传递一个元素列表来创建一个数组。在此示例中,整数:array=np.array([1,2,3,5,8,13,21])能在输出中注意到一些有趣的东西吗?所有逗号分隔的值均具有相同的宽度并右对齐。由于最大数量21占据2个位置,因此所有其他值都被格式化为两个字符的字段。所以现在您知道为什么[和1.之间有一个前置空格。多维我们将通过传递两个三个元素的嵌套列表来创建一个2行3列的数组:array2x3=np.array([[1,2,3],[10,20,30]])输出的格式基于维数,将每一行中的列对齐:如我们所见,1和10是对齐的,2和20等。数组的形状我们可以使用shape属性确定数组的形状,该属性返回具有尺寸的元组:以及带有ndim属性的维数(即数组的秩),如下所示:的ndim是相同的轴的数量或长度(len在阵列的形状的输出的):元素数使用该属性,size我们可以获得数组的元素总数:元素类型和元素大小由于NumPy用C编写,因此使用其数据类型。这样,整数将作为int64值存储-对应于C中的64位(即8字节)整数。通过访问dtype属性,可以轻松确定数组的元素类型:通过访问以下命令以及存储每个元素所需的字节数itemsize:itemsize:记忆体大小内存占用量(nbytes)是元素数乘以字节数。通用数组来填充特定值的数组,NumPy的提供三个特殊功能:zeros,ones和full,分别创建包含0,1,或在指定值的阵列。请注意,零和一包含float64值,但是我们显然可以自定义元素类型。一维0数组:zeros=np.zeros(5)一维0s数组,类型为整数:zeros_int=np.zeros(5,dtype=int)1秒的2D数组(2x5):ones=np.ones((2,5))2s的2D数组(2x5):full=np.full((2,5),7)均匀分布的范围NumPy提供了用于从范围创建数组的优化功能。创建均匀间隔范围的两个最重要的函数分别是arange和linspace,分别用于整数和浮点数。In整数:给定间隔np.arange(start,stop,step):在半开间隔[start,stop)(即包括开始但不包括停止的间隔)内生成值。默认start值为0,默认step大小为1。范围从0到4,增量为1:np.arange(5)范围从5到9,增量为1:np.arange(5,10)范围从2到8,增量为2:np.arange(2,10,2)范围从8到2,以-2为增量:np.arange(8,0,-2)F浮点数:给定元素数量np.linspace(start,stop,num,endpoint):返回num间隔上计算得出的均匀间隔的样本[start,stop]。所述endpoint的时间间隔的可任选地被排除。默认num值为50,默认endpoint值为True。5个均匀间隔的元素,范围从1.0到2.0(不包括2.0):np.linspace(1,2,num=5,endpoint=False)从1.0到2.0(包括2.0)的5个等距元素:np.linspace(1,2,num=5,endpoint=True)尽管我们可将范围作为参数传递的方式来创建数组,但还是选择内置函数,因为它们针对性能进行了优化。Random随机整数np.random.randint(low,high,size):从low(包括)到high(不包括)返回随机整数。如果high为None(默认值),则结果来自[0,low)。从1到99的10个随机整数:np.random.randint(low=1,high=,size=10)
转载请注明:http://www.aierlanlan.com/tzrz/6378.html