zoukankan      html  css  js  c++  java
  • Python中Numpy模块的使用

    目录

    NumPy

    ndarray对象

    Numpy数据类型

    Numpy数组属性


    NumPy

    NumPy(Numerical Python) 是 Python 的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Nupmy可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。

    NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:

    • 一个强大的 N 维数组对象 ndarray
    • 广播功能函数
    • 整合 C/C++/Fortran 代码的工具
    • 线性代数、傅里叶变换、随机数生成等功能

    ndarray对象

    NumPy 最重要的一个对象是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,可以使用基于 0 的索引访问集合中的项目。

    ndarray 对象是用于存放同类型元素的多维数组。ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)

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

     一般只有 object 、dtype和 ndmin 参数常用,其他参数不常用 

    import numpy
    a=numpy.array([1,2,3])                #一维
    b=numpy.array([[1,2,3],[4,5,6]])      #二维
    c=numpy.array([1,2,3],dtype=complex)  #元素类型为复数
    d=numpy.array([1,2,3],ndmin=2)        #二维
    print(a,type(a))
    print(b,type(b))
    print(c,type(c))
    print(d,type(d))
    ####################################
    [1 2 3] <class 'numpy.ndarray'>
    [[1 2 3]
     [4 5 6]] <class 'numpy.ndarray'>
    [1.+0.j 2.+0.j 3.+0.j] <class 'numpy.ndarray'
    [[1 2 3]] <class 'numpy.ndarray'>

    Numpy数据类型

    Numpy数组属性

    NumPy 数组的维数称为秩(rank),一维数组的秩为 1,二维数组的秩为 2,以此类推。

    在 NumPy中,每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是 NumPy 中的轴(axis),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。

    很多时候可以声明 axis。axis=0,表示沿着第 0 轴进行操作,即对每一列进行操作;axis=1,表示沿着第1轴进行操作,即对每一行进行操作。

     ndarray 对象属性有:

    常见的属性有下面几种 :

    ndarray.shape :  这一数组属性返回一个包含数组纬度的元组,它也可以用于调整数组大小 

    import numpy as np
    a=np.array([[1,2,3],[4,5,6]])
    print(a.shape)           #打印shape属性
    a.shape=(3,2)            #修改shape属性
    print(a)
    #######################################
    (2, 3)
    [[1 2]
     [3 4]
     [5 6]]

     ndarray.ndim: 这一数组属性返回数组的维数

    import numpy as np
    a=np.arange(24)     #np.arange返回0-23的列表类型的数据
    print(a.ndim)
    b=a.reshape(2,3,4)
    print(b)
    print(b.ndim)
    ############################
    1
    [[[ 0  1  2  3]
      [ 4  5  6  7]
      [ 8  9 10 11]]
    
     [[12 13 14 15]
      [16 17 18 19]
      [20 21 22 23]]]
    3

    ndarray.itemsize : 这一数组属性返回数组中每个元素的字节单位长度

    import numpy as np
    a=np.array([1,2,3])  #默认是四个字节
    print(a.itemsize)
    #########################################
    4

    相关文章:NumPy教程

  • 相关阅读:
    CentOS 下安装apt-get
    Centos 6.5升级到Git2.1.2的步骤
    JAVA常识积累
    Android网络编程概述
    解读ClassLoader
    android ndk调用OpenGL 实现纹理贴图Texture
    android Bind机制(二)
    Android Binder机制原理(史上最强理解,没有之一)(转)
    NDK常见问题
    根因分析初探:一种报警聚类算法在业务系统的落地实施
  • 原文地址:https://www.cnblogs.com/csnd/p/11807821.html
Copyright © 2011-2022 走看看