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教程

  • 相关阅读:
    Vasya and Endless Credits CodeForces
    Dreamoon and Strings CodeForces
    Online Meeting CodeForces
    数塔取数 基础dp
    1001 数组中和等于K的数对 1090 3个数和为0
    1091 线段的重叠
    51nod 最小周长
    走格子 51nod
    1289 大鱼吃小鱼
    POJ 1979 Red and Black
  • 原文地址:https://www.cnblogs.com/csnd/p/11807820.html
Copyright © 2011-2022 走看看