当前位置:   article > 正文

Numpy库详解(一)_假设已执行语句import numpy as np和c = np.arange(25).reshap

假设已执行语句import numpy as np和c = np.arange(25).reshape(5,5),那么表达式c

Numpy库详解(一)

安装
在ubuntu中安装使用pip

pip install numpy 
  • 1

安装验证
在UBUNTU终端下打开python3,输入以下代码:
以下实例均在python3中完成

from numpy import *
eye(4)
  • 1
  • 2

若输出以下对角举证,则安装成功

array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])
  • 1
  • 2
  • 3
  • 4

NumPy Ndarray 对象

NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

ndarray 对象是用于存放同类型元素的多维数组。

ndarray 中的每个元素在内存中都有相同存储大小的区域。

ndarray 内部由以下内容组成:

一个指向数据(内存或内存映射文件中的一块数据)的指针。

数据类型或 dtype,描述在数组中的固定大小值的格子。

一个表示数组形状(shape)的元组,表示各维度大小的元组。

一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

ndarray 的内部结构:

跨度可以是负数,这样会使数组在内存中后向移动,切片中 obj[::-1] 或 obj[:,::-1] 就是如此。

创建一个 ndarray 只需调用 NumPy 的 array 函数即可:

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
  • 1

实例

>>> import numpy as np
>>> a=np.array([1,2,3])
>>> print(a)
  • 1
  • 2
  • 3

输出

[1,2,3]
  • 1

输出二维数组

import numpy as np
a=np.array([[2,3],[3,4]])
>>> print(a)
[[2 3]
 [3 4]]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

实例3:最小维度

>>> a=np.array([1,2,3,4,5],ndmin=2)
>>> print(a)
[[1 2 3 4 5]]
  • 1
  • 2
  • 3

实例4:dtype参数

>>> a=np.array([1,2,3,4,5],dtype=complex)
>>> print(a)
[1.+0.j 2.+0.j 3.+0.j 4.+0.j 5.+0.j]
  • 1
  • 2
  • 3

Numpy数组属性

numpy数组的维度称为秩(rank),一维的称为1,二维的称为2,以此类推
在numpy中,每一个线性的维度称为一个轴(axis),也就是维度。比如说,二维数组相当于两个一维数组,其中第一个一位数组中每个元素又是一个一维数组,所以一维数组就是numpy中的轴(axis),第一个轴相当于是底层数组,第二个轴时底层数组里的数组。而轴的数量-秩,就是数组的维数。
很多时候可以声明axis,axis=0,表示沿着第另轴进行操作,即对每一列进行操作;axis=1,表示对每一行进行操作
numpy的数组中比较重要的ndarray对象属性有:

属性 说明
ndarray.ndim 秩,即轴的数量或维度的数量
ndarray.shape 数组的维度,对于矩阵,n行m列
ndarray.size 数组元素的总个数,相当于.shape中的n*m的值
ndarray.dtype ndarray对象的元素类型
ndarray.flags ndarray元素的内存信息
ndarray.real ndarray元素的实部
ndarray.imag ndarray元素的虚部

ndarray.ndim 用于返回数组的维数,等于秩。
实例:

>>> import numpy as np
>>> a=np.arange(24)
>>> print(a)
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
>>> print(a.ndim)
1
>>> b=a.reshape(2,4,3)
>>> a.reshape(2,4,3)
array([[[ 0,  1,  2],
        [ 3,  4,  5],
        [ 6,  7,  8],
        [ 9, 10, 11]],

       [[12, 13, 14],
        [15, 16, 17],
        [18, 19, 20],
        [21, 22, 23]]])
>>> print(b.ndim)
3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

ndarray.shape表示数组的维度,返回一个元祖,这个元祖的长度就是维度的数目,即ndim的秩。比如,一个二维数组,其维度表示行数和列数。
实例

>>> import numpy as np
>>> a=np.array([[2,3,4],[3,4,5]])
>>> print(a.shape)
(2, 3)
  • 1
  • 2
  • 3
  • 4

调整数组的大小
实例:

>>> import numpy as np
>>> a=np.array([[2,3,4],[3,4,5]])
>>> print(a.shape)
(2, 3)
>>> a.shape=(3,2)
>>> print(a)
[[2 3]
 [4 3]
 [4 5]]
>>> print(a.shape)
(3, 2)
>>> b=a.reshape(2,3)
>>> print(b)
[[2 3 4]
 [3 4 5]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

numpy 创建数组

ndarray数组除了可以用底层ndarray构造器来创建外,也可以通过以下集中方法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/981261
推荐阅读
相关标签
  

闽ICP备14008679号