Python:一篇文章掌握Numpy的基本用法 分享一篇有趣儿的文章:前言Numpy是一个开源的Python科学计算库,它是python科学计算库的基础库,许多其他著名的科学计算库如Pandas,Scikit-learn等都要用到Numpy库的一些功能。本文主要内容如下:Numpy数组对象创建ndarray数组Numpy的数值类型ndarray数组的属性ndarray数组的切片和索引处理数组形状数组的类型转换numpy常用统计函数数组的广播1 Numpy数组对象Numpy中的多维数组称为ndarray,这是Numpy中最常见的数组对象。ndarray对象通常包含两个部分:ndarray数据本身描述数据的元数据Numpy数组的优势Numpy数组通常是由相同种类的元素组成的,即数组中的数据项的类型一致。这样有一个好处,由于知道数组元素的类型相同,所以能快速确定存储数据所需空间的大小。Numpy数组能够运用向量化运算来处理整个数组,速度较快;而Python的列表则通常需要借助循环语句遍历列表,运行效率相对来说要差。Numpy使用了优化过的C API,运算速度较快关于向量化和标量化运算,对比下面的参考例子就可以看出差异使用python的list进行循环遍历运算def pySum(): a = list(range(10000)) b = list(range(10000)) c = [] for i in range(len(a)): (a[i]**2 + b[i]**2) return c %timeit pySum() 10 loops, best of 3: ms per loop使用numpy进行向量化运算import numpy as npdef npSum(): a = (10000) b = (10000) c = a**2 + b**2 return c %timeit npSum() The slowest run took times longer than the fastest. This could mean that an intermediate result is being loops, best of 3: 128 μs per loop从上面的运行结果可以看出,numpy的向量化运算的效率要远远高于python的循环遍历运算(效率相差好几百倍)。 (1ms=1000μs)2 创建ndarray数组首先需要导入numpy库,在导入numpy库时通常使用“np”作为简写,这也是Numpy官方倡导的写法。当然,你也可以选择其他简写的方式或者直接写numpy,但还是建议用“np”,这样你的程序能和大都数人的程序保持一致。import numpy as np创建ndarray数组的方式有很多种,这里介绍我使用的较多的几种:Method 1: 基于list或tuple# 一维数组 # 基于listarr1 = ([1,2,3,4])print(arr1)# 基于tuplearr_tuple = ((1,2,3,4))print(arr_tuple)# 二维数组 (