NumPy多维数组ndarray对象详解

NumPy多维数组ndarray对象详解

NumPy中最重要的对象是ndarray(N-dimensional array,多维数组)。ndarray是一个由同类型元素构成的多维数组,可以看作是Python内置的list对象的扩展,其优点在于:

  • ndarray支持并行化运算,对于科学计算的大规模数据处理有很大的优势;
  • ndarray支持矢量化运算,避免了Python循环语句慢的缺点;
  • ndarray中的元素都是同一类型,这使得在存储和处理数据时更加高效。

创建ndarray对象

通过 NumPy 的内置函数 array() 可以创建 ndarray 对象,其语法格式如下:
numpy.array(object, dtype = None, copy = True, order = None,ndmin = 0)

其参数涵义为:

  1. object:表示一个数组序列。
  2. dtype:可选参数,通过它可以更改数组的数据类型。
  3. copy:可选参数,表示数组能否被复制,默认是 True。
  4. order:以哪种内存布局创建数组,有 3 个可选值,分别是 C(行序列)/F(列序列)/A(默认)。
  5. ndim:用于指定数组的维度。

如下,我们创建了两个数组:

import numpy as np

# 创建一个包含 5 个元素的数组
a = np.array([1, 2, 3, 4, 5])
print(a)

# 创建一个二维数组
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(b)

NumPy ndarray属性

ndarray属性有以下几个:

  • shape:表示ndarray的形状,即各个维度的长度组成的元组;
  • dtype:表示ndarray中元素的数据类型;
  • ndim:表示ndarray的维度数;
  • size:表示ndarray中元素的总个数;
  • itemsize:表示ndarray中每个元素的字节大小;
  • nbytes:表示ndarray中所有元素的字节大小;
  • T:表示ndarray的转置矩阵。

NumPy ndarray方法

ndarray包含的方法有以下几个:

  • reshape:返回一个具有相同数据的新数组,但形状可以不同;
  • flatten:返回一个将多维数组转换为一维数组的新数组;
  • transpose:返回ndarray的转置矩阵;
  • dot:返回两个数组的矩阵积;
  • sum:计算ndarray中所有元素的总和;
  • mean:计算ndarray中所有元素的平均值;
  • std:计算ndarray中所有元素的标准差;
  • max/min:计算ndarray中所有元素的最大值/最小值;
  • argmax/argmin:返回ndarray中最大值/最小值的索引。

ndarray操作示例

接下来我们对ndarray进行几个简单的操作,示例如下:

获取 ndarray 的属性:

import numpy as np

a = np.array([1, 2, 3, 4, 5])

# 获取数组维度
print(a.ndim)

# 获取数组形状
print(a.shape)

# 获取数组元素类型
print(a.dtype)

对 ndarray 进行运算:

import numpy as np

a = np.array([1, 2, 3, 4, 5])

# 数组加法
b = a + 2
print(b)

# 数组乘法
c = a * 2
print(c)

# 数组除法
d = a / 2
print(d)

对 ndarray 进行索引和切片:

import numpy as np

a = np.array([1, 2, 3, 4, 5])

# 获取第二个元素
print(a[1])

# 获取前三个元素
print(a[:3])

# 获取后两个元素
print(a[-2:])

# 获取数组中的偶数元素
print(a[a%2==0])

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NumPy多维数组ndarray对象详解 - Python技术站

(1)
上一篇 2023年2月26日 下午8:44
下一篇 2023年2月27日 下午8:35

相关文章

  • numpy和tensorflow中的各种乘法(点乘和矩阵乘)

    以下是关于“numpy和tensorflow中的各种乘法(点乘和矩阵乘)”的完整攻略。 点乘 点乘是指两个数组的对应元素相乘,然后将结果相加。NumPy中,可以使用np.dot()函数来进行点乘操作。在TensorFlow中,可以使用tf.multiply()函数来进行点乘操作。 下面是一个使用NumPy进行点操作的示例: import numpy as n…

    python 2023年5月14日
    00
  • numpy.concatenate函数用法详解

    以下是关于NumPy中numpy.concatenate函数用法详解的攻略: NumPy中numpy.concatenate函数用法详解 在NumPy中,可以使用numpy.concatenate函数将多个数组沿着指定的轴连接在一起。以下是一些常用的方法: 沿着行连接 可以使用numpy.concatenate函数将多个数组沿着行连接在一起。以下是一个示例:…

    python 2023年5月14日
    00
  • Numpy 改变数组维度的几种方法小结

    Numpy改变数组维度的几种方法小结 NumPy是Python中用于科学计算的一个重要库,它提供了许多用于数组操作的函数和方法。在NumPy,可以使用多种方法改变数组的维度。本文将详细讲解NumPy改变数组维度的几种方法,包括reshape()、resize()、transpose()、flatten()、ravel()等方面。 reshape() resh…

    python 2023年5月14日
    00
  • Python利用numpy实现三层神经网络的示例代码

    以下是关于Python利用numpy实现三层神经网络的示例代码的攻略: Python利用numpy实现三层神经网络 在Python中,可以使用numpy库来实现三层神经网络。以下是一个示例: import numpy as np # 定义sigmoid函数 def sigmoid(x): return 1 / (1 + np.exp(-x)) # 定义sig…

    python 2023年5月14日
    00
  • Python—-数据预处理代码实例

    Python数据预处理代码实例 数据预处理是数据分析和机器学习中非常重要的一步。在本攻略中,我们将介绍Python中常用数据预处理技术,并提供个示例。 步骤一:导入库 首先,我们需要导入中常用的数据处理库包括numpy、pandas和matplotlib。可以使用以下代码导入: import numpy as np import pandas as pd i…

    python 2023年5月14日
    00
  • Python中的numpy数组模块

    Python中的Numpy数组模块 Numpy是Python中一个非常强大的数学库,它提供了许多高效的数学函数和工具,特别是对于数组和矩阵的处理。下面详细讲解Numpy模块的使用方法。 安装Numpy 使用Numpy之前,需要先安装它。可以使用以下命令在终端中安装Numpy: pip install numpy 导入Numpy 在Python中,我们需要使用…

    python 2023年5月13日
    00
  • Python 机器学习工具包SKlearn的安装与使用

    Python机器学习工具包SKlearn的安装与使用 安装SKlearn 安装SKlearn需要先安装Python,推荐安装Python 3.6版本及以上的Python。 # 假设已经安装好Python 3.6,然后使用pip安装SKlearn pip install sklearn SKlearn的使用 示例1 —— 数据加载和数据预处理 下面的代码演示了…

    python 2023年5月14日
    00
  • 在Linux下使用Python的matplotlib绘制数据图的教程

    在Linux下使用Python的Matplotlib绘制数据图的教程 Matplotlib是Python中最流行的绘图库之一,它可以用于绘制各种类型的图表,包括折线图、散点图、柱状等。本文将介绍如何在Linux下使用Python的Matplotlib绘制数据图,包括安装Matplotlib、基本语法、常用函数和两个示例。 安装Matplotlib 在Linu…

    python 2023年5月14日
    00

评论列表(1条)

  • Numpy的核心:数组的定义与特性 - Python技术站的头像

    […] 在NumPy中,数组被称为ndarray(N-dimensional array),它是一个由同种数据类型元素组成的多维数组,而且每个维度称为轴(axis),轴的数量称为秩(rank)。 […]

合作推广
合作推广
分享本页
返回顶部