• python NumPy入门篇


    在这里插入图片描述

    NumPy介绍

    什么是NumPy?

    NumPy是一个用于处理数组的Python库。

    它还具有在线性代数,傅里叶变换和矩阵领域工作的函数。

    NumPy由Travis Oliphant于2005年创建。这是一个开源项目,您可以自由使用它。

    NumPy 代表 Numeric Python。

    为什么使用NumPy?

    在Python中,我们有用于数组目的的列表,但它们的处理速度很慢。

    NumPy旨在提供一个比传统Python列表快50倍的数组对象。

    NumPy中的数组对象被称为,它提供了许多支持函数,使工作变得非常容易。ndarray``ndarray

    数组在数据科学中非常频繁地使用,其中速度和资源非常重要。

    为什么NumPy比Lists快?

    与列表不同,NumPy数组存储在内存中的一个连续位置,因此进程可以非常有效地访问和操作它们。

    此行为在计算机科学中称为引用位置。

    这是NumPy比列表更快的主要原因。此外,它还经过优化,可与最新的CPU架构配合使用

    NumPy是用哪种语言编写的?

    NumPy是一个Python库,部分用Python编写,但大多数需要快速计算的部分都是用C或C++编写的。

    NumPy代码库在哪里?

    NumPy的源代码位于此github存储库 https://github.com/numpy/numpy

    NumPy 安装

    安装 NumPy

    pip install numpy
    
    • 1

    尝试使用 NumPy

    • Import NumPy

      安装NumPy后,通过添加关键字将其导入到应用程序中:import

      例子:

      import numpy
      
      arr = numpy.array([1, 2, 3, 4, 5])
      
      print(arr)
      
      • 1
      • 2
      • 3
      • 4
      • 5

      响应结果:

      [1 2 3 4 5]
      
      • 1
    • 别名导入:import numpy as np

      例子:

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

      响应结果:

      [1 2 3 4 5]
      
      • 1

    检查数字Py版本

    版本字符串存储在属性下。__version__

    import numpy as np
    
    print(np.__version__)
    
    • 1
    • 2
    • 3

    响应结果:

    1.22.4
    
    • 1

    NumPy 创建数组

    创建一个 NumPy ndarray 对象

    NumPy 用于处理数组。NumPy 中的数组对象称为 : ndarray

    我们可以使用函数array()创建一个NumPy ndarray对象。

    例子:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4, 5])
    
    print(arr)
    
    print(type(arr))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    运行结果:

    [1 2 3 4 5]
    <class 'numpy.ndarray'>
    
    • 1
    • 2

    要创建一个ndarray ,我们可以将列表,元组或任何类似数组的对象传递到方法array()中,它将转换为
    ndarray

    import numpy as np
    
    arr = np.array((1, 2, 3, 4, 5))
    
    print(arr)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行结果:

    [1 2 3 4 5]
    
    • 1

    数组中的维度

    数组中的维度是数组深度的一个级别(嵌套数组)。

    嵌套数组: 是以数组作为其元素的数组。

    0-D 阵列

    0-D 数组或标量是数组中的元素。数组中的每个值都是一个 0-D 数组。

    例: 创建值为 42 的 0-D 数组

    import numpy as np
    
    arr = np.array(42)
    
    print(arr)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行结果:

    42
    
    • 1

    1-D 阵列

    以 0-D 数组作为其元素的数组称为一维或一维数组。

    这些是最常见和最基本的数组。

    例 : 创建一个包含值 1,2,3,4,5 的一维数组

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

    运行结果:

    [1 2 3 4 5]
    
    • 1

    2-D 阵列

    以一维数组作为其元素的数组称为二维数组。

    这些通常用于表示矩阵或二阶张量。

    NumPy有一个专门用于矩阵运算的整个子模块,称为numpy.mat

    例 创建一个包含两个值为 1、2、3 和 4,5,6 的数组的 2-D 数组:

    
    import numpy as np
    
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    
    print(arr)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行结果:

    [[1 2 3]
     [4 5 6]]
    
    • 1
    • 2

    3-D 阵列

    以二维数组(矩阵)作为其元素的数组称为三维数组。

    这些通常用于表示三阶张量。

    例 创建一个包含两个 2-D 数组的 3-D 数组,这两个数组都包含两个值为 1,2,3 和 4,5,6 的数组:

    import numpy as np
    
    arr = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
    
    print(arr)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行结果:

    [[[1 2 3]
      [4 5 6]]
    
     [[1 2 3]
      [4 5 6]]]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看数组维度

    NumPy Arrays提供了一个属性ndim,该属性返回一个整数,该整数告诉我们数组有多少个维度。

    例子:检查数组有多少个维度:

    import numpy as np
    
    a = np.array(42)
    b = np.array([1, 2, 3, 4, 5])
    c = np.array([[1, 2, 3], [4, 5, 6]])
    d = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
    
    print(a.ndim)
    print(b.ndim)
    print(c.ndim)
    print(d.ndim)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行结果:

    0
    1
    2
    3
    
    • 1
    • 2
    • 3
    • 4

    高维数组

    一个数组可以具有任意数量的维度。

    创建数组时,可以使用参数ndmin定义维度数。

    例 创建一个具有 5 个维度的数组,并验证它是否具有 5 个维度:

    import numpy as np
    
    arr = np.array([1, 2, 3, 4], ndmin=5)
    
    print(arr)
    print('number of dimensions :', arr.ndim)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行结果:

    [[[[[1 2 3 4]]]]]
    number of dimensions : 5
    
    • 1
    • 2
  • 相关阅读:
    48页数字政府智慧政务一网通办解决方案
    no declaration can be found for element ‘rabbit:connection-factory‘
    NativeBuffering,一种高性能、零内存分配的序列化解决方案[性能测试篇]
    学生学python编程---实现贪吃蛇小游戏+原码
    华为机试真题实战应用【赛题代码篇】-购买水果最便宜的方案(附Java和C++代码实现)
    机器学习知识经验分享之一:卷积神经网络介绍
    人工智能知识全面讲解:非线性支持向量机与核函数
    小企业数字化经营模式是什么?
    人工智能AI 全栈体系(十二)
    N个元素进栈 出栈情况种数
  • 原文地址:https://blog.csdn.net/a883774913/article/details/125601867