numpy是一个神级科学计算库!手把手带你入门!学会事半功倍!

numpy是一个神级科学计算库!手把手带你入门!学会事半功倍!,第1张

概述 二维数组由多个一维数组组成  np.size:数组中所有元素的总量,相当于数组的shape中所有元素的乘积,例如矩阵的元素总量为行与列的乘积。

二维数组由多个一维数组组成

np.size :数组中所有元素的总量,相当于数组的 shape 中所有元素的乘积,例如矩阵的元素总量为行与列的乘积。

>>>print('数组a的大小是:',a.size)

>>>print('数组b的大小是:',b.size)

>>>print('数组c的大小是:',c.size)

数组a的大小是: 3

数组b的大小是: 9

数组c的大小是: 12

np.array创建数组时,会将多层嵌套的列表转换为多维数组。

>>>b = np.array([(1.5,2,3),(4,5,6)])

>>>b

array([[1.5,2.,3. ],

[4.,5.,6. ]])

创建数组时我们还可以指定数据类型

>>>c = np.array( [ [1,2],[3,4] ],dtype=complex )#指定数据类型为复数

>>>c

array([[1.+0.j,2.+0.j],

[3.+0.j,4.+0.j]])

我们经常遇到这样的情况,我们并不知道数组的元素,但是知道数组的大小。因此,NumPy提供了多个函数,用于创建有初始数值的占位数组,这样可以减少不必要的数组增长及运算成本。

zeros 函数创建包含全是0的数组, ones 函数创建全是1的数组, empty 函数创建一个随机数值数组,其中的数值由当时的内存状态决定。这些函数创建的数组的数据类型都是默认的float64.

打印数组

当你在屏幕打印一个数组时,NumPy显示这个数组的方式和嵌套的列表是相似的。但遵守以下布局:

最后一维由左至右打印 倒数第二维从上到下打印 其余维都是从上到下打印,且通过空行分隔

如下所示,一维数组输出为一行、二维为矩阵、三维为矩阵列表。

基本运算

数组中的算术运算一般是元素级的运算,运算结果会产生一个新的数组。

不同于很多矩阵语言,乘积运算 *** 作 * 在NumPy中是元素级的运算。如果想要进行矩阵运算,可以使用 dot 函数或方法。

当 *** 作不同数据类型的数组时,最后输出的数组类型一般会与更普遍或更精准的数组相同(这种行为叫做 Upcasting)。

默认状态下,这些运算会把数组视为一个数字列表而不关心它的shape。然而,可以指定axis参数针对哪一个维度进行运算。例如axis=0将针对每一个列进行运算。

索引、切片和迭代

一维数组可以索引、切片和迭代,就像列表和其他python数据类型。

b[i] 中的i代表i后面有足够多的:,用于表示其他维度的索引。你也可以使用点号 ... 来表示。

点号代表需要的足够多的列,用于使其他维度的索引值完整。例如,x是一个五维数组,那么

x[1,...] 相当于 x[1,:,:] x[...,3] 相当于 x[:,3] x[4,...,:] 相当于 x[4,:]

但是,如果你想迭代输出数组中的每一个元素,你可以使用 flat 属性实现,这个属性生成一个可以迭代所有元素的迭代器。

进群:125240963  即可获取数十套pdf1哦!

总结

以上是内存溢出为你收集整理的numpy是一个神级科学计算库!手把手带你入门!学会事半功倍!全部内容,希望文章能够帮你解决numpy是一个神级科学计算库!手把手带你入门!学会事半功倍!所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1208915.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存