美文网首页大数据 爬虫Python AI Sql呆鸟的Python数据分析
numpy是一个神级科学计算库!手把手带你入门!学会事半功倍!

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

作者: 919b0c54458f | 来源:发表于2018-07-16 16:33 被阅读17次

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

    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哦!

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/hopbpftx.html