ython科学计算与数据处理

ython科学计算与数据处理

ID:39014745

大小:618.81 KB

页数:92页

时间:2019-06-23

ython科学计算与数据处理_第1页
ython科学计算与数据处理_第2页
ython科学计算与数据处理_第3页
ython科学计算与数据处理_第4页
ython科学计算与数据处理_第5页
资源描述:

《ython科学计算与数据处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1NumPy—函数库目录求和、平均值、方差更改数组的形状与数组堆叠最值和排序多项式函数分段函数统计函数解线性方程组2函数库除了前面介绍的ndarray数组对象和ufunc函数之外,NumPy还提供了大量对数组进行处理的函数。充分利用这些函数,能够简化程序的逻辑,提高运算速度。3求和、平均值、方差sum()计算数组元素之和,也可以对列表、元组等和数组类似的序列进行求和。当数组是多维时,它计算数组中所有元素的和:4>>>a=np.random.randint(0,10,size=(4,5))>>>aarray([[7,1,9,6,3],[5,1,3,8,2],[9

2、,8,9,4,0],[9,5,1,7,0]])>>>np.sum(a)97求和、平均值、方差如果指定axis参数,求和运算将沿着指定的轴进行。在上面的例子中,数组a的第0轴长度为4,第1轴长度为5。如果axis参数为1,就对每行上的5个数求和,所得的结果是长度为4的一维数组。如果参数axis为0,就对每列上的4个数求和,结果是长度为5的一维数组。即,结果数组的形状是原始数组的形状除去其第axis个元素:5>>>np.sum(a,axis=1)array([26,19,30,22])>>>np.sum(a,axis=0)array([30,15,22,25,5]

3、)求和、平均值、方差上面的例子将产生一个新的数组来保存求和结果,如果希望将结果直接保存到另外一个数组中,可以和ufunc函数一样使用out参数指定输出数组,它的形状必须和结果数组的形状相同。6求和、平均值、方差sum()默认使用和数组的元素类型相同的累加变量进行计算,如果元素类型为整数,就使用系统的默认整数类型作为累加变量。在32位系统中,累加变量的类型为32bit整型。因此对整数数组进行累加时可能会出现溢出问题,即数组元素的总和超过了累加变量的取值范围。而对很大的单精度浮点数类型数组进行计算时,也可能出现精度不够的现象,这时可以通过dtype参数指定累加变量

4、的类型。在下面的例子中,我们对一个元素都为1.1的单精度数组进行求和,比较单精度累加变量和双精度累加变量的计算结果:7求和、平均值、方差8>>>b=np.ones(1000000,dtype=np.float32)*1.1#创建一个很大的单精度浮点数数组>>>b#1.1无法使用浮点数精示,存在一些误差array([1.10000002,1.10000002,…,1.10000002],dtype=float32)>>>np.sum(b)#使用单精度累加变量进行累加计算,误差将越来越大1110920.5>>>np.sum(b,dtype=np.double)#使

5、用双精度浮点数则能够得到正确的值1100000.0238418579求和、平均值、方差mean()用于求数组的平均值,也可以通过axis参数指定求平均值的轴,通过out参数指定输出数组。和sum()不同的是,对于整数数组,它使用双精度浮点数进行计算,而对于其他类型的数组,则使用和数组元素类型相同的累加变量进行计算:9>>>np.mean(a,axis=1)#整数数组使用双精度浮点数进行计算array([5.2,3.8,6.,4.4])>>>np.mean(b)#单精度浮点数使用单精度浮点数进行计算1.1109205>>>np.mean(b,dtype=np.d

6、ouble)#用双稍度浮点数计算平均值1.1000000238418579求和、平均值、方差除此之外,average()也可以对数组进行平均计算。它没有out和dtype参数,但有一个指定每个元素权值的weights参数,可在IPython中输入“np.average?”来査看使用说明。std()和var()分别计算数组的标准差和方差,有axis、out及dtype等参数。10更改数组的形状与数组堆叠更改数组的形状:11>>>a1=floor(10*random.random((3,4)))>>>a1array([[7.,5.,9.,3.],[7.,2.,7.

7、,8.],[6.,8.,3.,2.]])>>>a1.shape(3,4)>>>a1.ravel()#flattenthearrayarray([7.,5.,9.,3.,7.,2.,7.,8.,6.,8.,3.,2.])>>>a1.shape=(6,2)>>>a1.transpose()array([[7.,9.,7.,7.,6.,3.],[5.,3.,2.,8.,8.,2.]])更改数组的形状与数组堆叠12>>>a1array([[7.,5.],[9.,3.],[7.,2.],[7.,8.],[6.,8.],[3.,2.]])>>>a1.resize(2,6)

8、>>>a1array([[7.,5.,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。