Python的基础学习1:数组

本文基于《Python科学计算第二版》整理,详细介绍NumPy库中数组的创建与操作方法,包括列表、数组和NumPy的不同特性,以及NumPy中的函数如arange、linspace和logspace的使用,同时涵盖了数据类型、大小、内存和数组操作如reshape的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

图0:思维导图

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

一、三种格式

创建数组的三种格式
格式特点优点缺点例子
列表(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)

输出如下:

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

(2)操作 

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

库NumPy中的部分操作
  操作含义例子
数值数据类型dtype

创建数组时的类型参数

int,float,complex

1、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))

      

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值