大数据 爬虫Python AI Sql呆鸟的Python数据分析

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

2018-07-16  本文已影响17人  919b0c54458f

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

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,2,...] 相当于 x[1,2,:,:,:]

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

x[4,...,5,:] 相当于 x[4,:,:,5,:]

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

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

上一篇下一篇

猜你喜欢

热点阅读