NumPy多维数组ndarray对象详解

yizhihongxing

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

相关文章

  • Python遍历目录下文件、读取、千万条数据合并详情

    针对“Python遍历目录下文件、读取、千万条数据合并”这个问题,我们可以采用以下步骤进行: 1. 遍历目录 首先需要遍历目录下的所有文件,可以使用Python内置的os模块中的os.listdir()方法获取目录下的所有文件名。 示例代码如下: import os path = r’your_path’ # 目录路径 for file_name in os…

    python 2023年5月13日
    00
  • Numpy截取指定范围内的数据方法

    以下是Numpy截取指定范围内的数据方法的攻略: Numpy截取指定范围内的数据方法 在Numpy中,可以使用切片(slice)来截取指定范围内的数据。以下是一些实现方法: 一维数组截取 可以使用切片来截取一维数组中的数据。以下是一个示例: import numpy as np a = np.array([1, 2, 3, 4, 5]) b = a[1:4]…

    python 2023年5月14日
    00
  • pytorch 实现tensor与numpy数组转换

    PyTorch是一个基于Python的科学计算库,它提供了高度优化的张量操作,包括自动求导机制。在PyTorch中,我们可以将张量与NumPy数组相互转换。以下是PyTorch实现tensor与numpy数组转换的完整攻略: 将NumPy数组转换为PyTorch张量 我们可以使用torch.from_numpy()函数将NumPy数组转换为PyTorch张量…

    python 2023年5月14日
    00
  • Python数据分析numpy数组的3种创建方式

    Python数据分析numpy数组的3种创建方式 NumPy是Python中一个非常流行的科学计算库,它提供了许多常用的数学函数和工具。在数据分析,经常需要使用NumPy来存储和处理数据。本攻略将介绍NumPy数组的3种创建方式,包括使用列表、使用NumPy使用文件读取。 列表创建NumPy数组 我们可以使用Python中的列表来创建NumPy数组。下面是一…

    python 2023年5月13日
    00
  • Python科学计算包numpy用法实例详解

    Python科学计算包numpy用法实例详解 NumPy是Python中一个重要的科学计算库,它提供了高效的多维数组对象和各数学函数,是数据科和机器学习领域不可或的工具之一。本攻略详细介绍NumPy的用法,包括数组的创建、索引、切片、运算、统计等。 数组的创建 在NumPy中,可以使用np.array()函数创建数组,例如: import numpy as …

    python 2023年5月13日
    00
  • Python-pip配置国内镜像源的安装方式

    下面是Python-pip配置国内镜像源的完整攻略。 简介 在使用Python时,常常需要使用pip来安装和管理包,而默认情况下pip会从国外的镜像源下载包,下载速度可能会比较慢,因此需要配置国内的镜像源来加速下载,同时也能解决由于墙的原因无法访问国外镜像源的问题。 安装方式 方式一:直接修改配置文件 打开pip配置文件,找到该文件的位置。在Linux或Ma…

    python 2023年5月13日
    00
  • 利用anaconda保证64位和32位的python共存

    利用Anaconda保证64位和32位的Python共存 在某些情况下,我们需要同时使用64位和32位的Python。在Windows系统中,这可能会导致一些问题。在本攻略中,我们将介绍如何使用Anaconda保证64位和32位的Python共存,并提供两个示例说明。 问题描述 在Windows系统中,我们通常需要使用64位和32位的Python。但是,这可…

    python 2023年5月14日
    00
  • python 指定源路径来解决import问题的操作

    1. Python指定源路径来解决import问题的操作 在Python中,我们可以使用import语句导入模块。但是,有时候我们可能会遇到import问题,例如找不到模块或者导入的模块版本不正确等。在这种情况下,我们可以指定源路径来解决这些问题。 2. 示例说明 2.1 指定源路径导入模块 以下是一个示例代码,用于指定源路径导入模块: import sys…

    python 2023年5月14日
    00

评论列表(1条)

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

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

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