本文主要是通过学习《Python科学计算第二版》整理的一个学习笔记。
关于数组的操作我们主要关心的是以下几个方面:

接下来将用表格的形式罗列以及区分各种创建和操作的方法
一、三种格式
| 格式 | 特点 | 优点 | 缺点 | 例子 |
| 列表(List) | 指针+对象 | 便于运算操作 | 占用内存 |
a=list((1,2,3)) print(a,type(a)) |
| 数组(array) | 对象 | 不支持多维数组,没有运算操作 | 内存少 | |
| 库(NumPy) |
1、ndarray:n维数组 2、ufunc:处理数组 | 多种数组操作 |
二、库NumPy中的部分函数
先导入库Numpy,并简化为np,后续的调用就可以直接用np._
import numpy as np
(1)创建:
1、手动输入
c=np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]])
2、自动生成
#自动创建
#arange(起,终,间隔),终不在数组中,即下列数组最后一个元为0.9
b1=np.arange(0,1,0.1)
#linspace(起,终,元素个数),等差数列,用endpoint=参数指定是否包含终值,默认True包含,False不包含
b2=np.linspace(0,1,10)
b3=np.linspace(0,1,10,endpoint=False)
#logspace(起,终,元素个数),等比数列,起终均是基底为10的指数部分,参数base改变基底,参数endpoint同上
b4=np.logspace(0,2,5)
b5=np.logspace(0,1,12,base=2,endpoint=False)
输出如下:

(2)操作
按照思维导图对数组库中的部分操作归纳如下:
| 操作 | 含义 | 例子 | |||
| 数值 | 数据类型 | dtype |
创建数组时的类型参数 | int,float,complex |
1、ai=np.array([1,2,3,4],dtype=complex) 2、af=np.int16(200) #数值有范围,大则溢出为负,运算速度慢 3、#查询: ai.dtype |
| type | NumPy中的类型值 | ai.dtype.type | |||
| astype(type) | 改变数据类型 |
1、t2 = np.array([1, 2, 3, 4], dtype=np.int) 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))
| |||
本文基于《Python科学计算第二版》整理,详细介绍NumPy库中数组的创建与操作方法,包括列表、数组和NumPy的不同特性,以及NumPy中的函数如arange、linspace和logspace的使用,同时涵盖了数据类型、大小、内存和数组操作如reshape的应用。
747

被折叠的 条评论
为什么被折叠?



