Python的基础学习1:数组

本文主要是通过学习《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))

      

    

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python计算思维训练——数组进阶之线性代数是一门关于使用Python语言进行线性代数计算的课程。该课程主要涵盖了向量、矩阵、线性方程组、矩阵分解、特征值与特征向量等内容。通过学习该课程,可以提高学生的线性代数计算能力,为日后从事相关领域的工作打下坚实的基础。 ### 回答2: Python计算思维训练——数组进阶之线性代数是一门针对处理数学中线性代数问题的课程。这门课程主要涉及到了向量、矩阵、矩阵运算、矩阵特征值等方面的概念和运算,同时也介绍了如何将这些概念以Python编程语言的形式来描述和实现解决问题。 在Python计算思维训练中,学习线性代数可以帮助我们更好地掌握有关数据分析和机器学习的相关知识,因为这些领域的很多概念和运算都与线性代数息息相关。线性代数中的向量、矩阵、特征值等概念可以帮助我们更好地理解和解决数据的问题。 在Python中,我们可以使用NumPy来实现线性代数中的矩阵运算,NumPy是Python中一个常用的数学计算库,它提供了大量的数学函数和运算符,可以帮助我们更高效地解决线性代数中的问题。 例如,我们可以利用NumPy中的dot函数来计算矩阵的乘积,使用linalg函数可以计算矩阵的特征值和特征向量。对于向量的范数,我们可以使用linalg.norm函数。 此外,在Python中还有一些有用的库,如SciPy和SymPy,这些库提供了更高级和更复杂的数学函数和运算,可以使我们更加轻松地解决涉及高级数学问题的任务。 总之,Python计算思维训练——数组进阶之线性代数,让我们了解和掌握了处理线性代数问题的基本概念和运算,这些知识对于我们解决数据的问题是非常有帮助的,同时也为我们理解和使用各种机器学习算法提供了重要的基础。 ### 回答3: Python 的计算思维训练中,数组进阶之线性代数是必不可少的一部分。线性代数是一门数学分支,旨在研究线性方程组、向量空间以及线性变换等内容。在 Python 中,NumPy 库便提供了很多用于实现线性代数操作的函数,使得 Python 也成为了进行线性代数计算的重要工具之一。 在 Python 中实现线性代数计算的关键是要了解如何使用 NumPy 数组来表示向量和矩阵。在 NumPy 中,可以使用一维数组来表示向量,使用二维数组来表示矩阵。同时,NumPy 还提供了很多用于实现线性代数计算的函数,比如矩阵加法、矩阵乘法、矩阵转置等。 通过使用 NumPy 中的函数,实现线性代数计算变得非常方便。例如,要对两个矩阵进行加法,可以使用 np.add() 函数来实现,如下所示: import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) c = np.add(a, b) print(c) 输出结果为: [[ 6 8] [10 12]] 同样的,要对两个矩阵进行乘法,可以使用 np.dot() 函数来实现,如下所示: a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) c = np.dot(a, b) print(c) 输出结果为: [[19 22] [43 50]] 可以看到,使用 NumPy 提供的函数,实现矩阵的加法和乘法变得非常简单。 除了基本的矩阵运算外,NumPy 还提供了很多用于实现更高级的线性代数计算的函数,比如矩阵求逆、矩阵行列式、特征值和特征向量等。这些函数可以帮助我们更方便的解决复杂的线性代数问题。 总之,Python 的计算思维训练中,数组进阶之线性代数是非常重要的一部分。只有掌握了 NumPy 数组的基本操作和线性代数相关的函数,才能更好地发挥 Python 程序在实现复杂线性代数计算方面的优势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值