Python的基础学习1:数组

本文主要是通过学习《Python科学计算第二版》整理的一个学习笔记。

关于数组的操作我们主要关心的是以下几个方面:

图0:思维导图

接下来将用表格的形式罗列以及区分各种创建和操作的方法

一、三种格式

格式特点优点缺点例子
列表(List)指针+对象便于运算操作占用内存a=list((1,2,3)) print(a,type(a))
数组(array)对象不支持多维数组,没有运算操作内存少 
库(NumPy)1、ndarray:n维数组 2、ufunc:处理数组多种数组操作  

1

 

二、库NumPy中的部分函数

先导入库Numpy,并简化为np,后续的调用就可以直接用np._

1import numpy as np 2

(1)创建:

1、手动输入

1c=np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]]) 2

2、自动生成

     

1#自动创建 2#arange(起,终,间隔),终不在数组中,即下列数组最后一个元为0.9 3b1=np.arange(0,1,0.1) 4 5#linspace(起,终,元素个数),等差数列,用endpoint=参数指定是否包含终值,默认True包含,False不包含 6b2=np.linspace(0,1,10) 7b3=np.linspace(0,1,10,endpoint=False) 8 9#logspace(起,终,元素个数),等比数列,起终均是基底为10的指数部分,参数base改变基底,参数endpoint同上 10b4=np.logspace(0,2,5) 11b5=np.logspace(0,1,12,base=2,endpoint=False) 12 13 14

输出如下:

图1:从上到下依次为b1,b2,b3,b4,b5

(2)操作 

按照思维导图对数组库中的部分操作归纳如下:

  操作含义例子
数值数据类型dtype创建数组时的类型参数int,float,complex1、ai=np.array([1,2,3,4],dtype=complex) 2、af=np.int16(200)       #数值有范围,大则溢出为负,运算速度慢 3、#查询:        ai.dtype
typeNumPy中的类型值ai.dtype.type
astype(type)改变数据类型1、t2 = np.array([1, 2, 3, 4], dtype=np.int)       t4 = t2.astype(np.complex) 2、#强制转换       c=complex(12)
大小np.array([])数组从0开始编号#创建  a=np.array([1,2,3,4],[2,3,4,5]) #修改  a[0]=10
内存shape数组两个轴的维数: 0轴、1轴#查询a的两轴大小 a.shape
reshape在保持数组元素个数不变时,改变数组的两个轴的大小;仅改变形状,元素在内存中的位置不变1、#a有8个元素,则可以分成(1,8)(2,4)       a.shape=1,8       #某轴为-1时自动根据总数/另一轴       a.shape=4,-1     i.e.  a.shape=4,2 2、reshape改变大小并赋给新数组,两数组共用        内存,同大小       d=a.reshape((8,1))            

1

代码交流 2021