详解numpy.ndarray转list

一、从numpyarray转list

NumPy是Python科学计算的基础包,提供了一种快速、高效的多维数组对象 ndarray ,用于存储同类型的数据。在NumPy中,多维数组ndarray是最重要的数据结构,它是一个由同类型元素组成的矩阵,具备高效的数值计算功能。但是,有时候我们需要将ndarray转换为Python中的list对象,便于进行其他操作或对数据进行处理。

下面给出两种方法实现numpy.ndarray转list:

方法1:使用tolist()

import numpy as np

# 定义一个ndarray数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 使用tolist()方法将ndarray数组转为list
arr_list = arr.tolist()

# 输出list类型及数组内容
print('list类型:', type(arr_list))
print('list内容:', arr_list)

运行结果:

list类型: 
list内容: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

方法2:使用for循环遍历

import numpy as np

# 定义一个ndarray数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 定义空列表,用于存放结果
arr_list = []

# 使用for循环遍历每个元素,将其加入列表中
for item in arr:
    arr_list.append(list(item))

# 输出list类型及数组内容
print('list类型:', type(arr_list))
print('list内容:', arr_list)

运行结果:

list类型: 
list内容: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

二、numpy转tensor

在深度学习框架中,常常用到tensor,即张量,是高维度数组在PyTorch、TensorFlow等框架中的实现。与numpy.array相似,tensor也是一个矩阵,但是与 numpy.ndarray 不同的是,tensor可以在 GPU 上进行运算,是深度学习的基础。下面给出numpy.ndarray到tensor的转换实例:

import torch
import numpy as np

# 定义一个ndarray数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 将ndarray数组转换为tensor
arr_tensor = torch.from_numpy(arr)

# 输出tensor类型及数组内容
print('tensor类型:', type(arr_tensor))
print('tensor内容:', arr_tensor)

运行结果:

tensor类型: 
tensor内容: tensor([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]], dtype=torch.int32)

三、numpy.ndarray是啥

作为Python科学计算的基础包,numpy提供了一种快速、高效的多维数组对象 ndarray ,用于存储同类型的数据。它是Python中常用的一个扩展程序库,除了数组,它也提供了大量的数学算法、傅里叶变换以及矩阵运算等功能。

ndarray的主要属性有:

  • ndarray.ndim:表示数组的维度。
  • ndarray.shape:表示数组的形状,如一个 2×3 的数组,其 shape 属性为 (2, 3)。
  • ndarray.size:表示数组的元素个数。
  • ndarray.dtype:表示数组的元素类型。

下面给出一个numpy.ndarray的实例:

import numpy as np

# 定义一个ndarray数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 输出数组的维度、形状、元素个数、元素类型
print('数组的维度:', arr.ndim)
print('数组的形状:', arr.shape)
print('数组的元素个数:', arr.size)
print('数组的元素类型:', arr.dtype)

运行结果:

数组的维度: 2
数组的形状: (3, 3)
数组的元素个数: 9
数组的元素类型: int32

四、使用场景

numpy.ndarray的应用场景非常广泛,主要体现在以下几个方面:

  • 科学计算和数值分析领域,如数值积分、图像处理、信号处理等。
  • 机器学习和深度学习领域中,如图像数据处理、语音识别、自然语言处理等。
  • 社交网络、推荐系统等领域的处理。
  • 其他科学领域,如地球物理、气象学、经济学等。

由于numpy.ndarray数组具有数值计算速度快、占用空间小、灵活多样的特性,因此在科学计算、数据分析和大规模数据处理等领域得到广泛应用。

原创文章,作者:HXTRF,如若转载,请注明出处:https://www.506064.com/n/334189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
HXTRFHXTRF
上一篇 2025-02-05 13:05
下一篇 2025-02-05 13:05

相关推荐

  • Tensor to List的使用

    Tensor to List是TensorFlow框架提供的一个非常有用的函数,在很多的深度学习模型中都会用到。它的主要功能是将TensorFlow中的张量(Tensor)转换为P…

    编程 2025-04-29
  • Python矩阵转置函数Numpy

    本文将介绍如何使用Python中的Numpy库实现矩阵转置。 一、Numpy库简介 在介绍矩阵转置之前,我们需要了解一下Numpy库。Numpy是Python语言的计算科学领域的基…

    编程 2025-04-28
  • 如何使用Python将输出值赋值给List

    对标题进行精确、简明的解答:本文将从多个方面详细介绍Python如何将输出的值赋值给List。我们将分步骤进行探讨,以便读者更好地理解。 一、变量类型 在介绍如何将输出的值赋值给L…

    编程 2025-04-28
  • Python List查找用法介绍

    在Python中,list是最常用的数据结构之一。在很多场景中,我们需要对list进行查找、筛选等操作。本文将从多个方面对Python List的查找方法进行详细的阐述,包括基本查…

    编程 2025-04-28
  • Python列表转numpy数组

    本文将阐述Python中列表如何转换成numpy数组。在科学计算和数据分析领域中,numpy数组扮演着重要的角色。Python与numpy的无缝结合使得数据操作更加方便和高效。因此…

    编程 2025-04-27
  • Python DataFrame转List用法介绍

    Python中常用的数据结构之一为DataFrame,但有时需要针对特定需求将DataFrame转为List。本文从多个方面针对Python DataFrame转List详细介绍。…

    编程 2025-04-27
  • Python中list和tuple的用法及区别

    Python中list和tuple都是常用的数据结构,在开发中用途广泛。本文将从使用方法、特点、存储方式、可变性以及适用场景等多个方面对这两种数据结构做详细的阐述。 一、list和…

    编程 2025-04-27
  • Python三大:NumPy、Pandas、matplotlib

    本文将详细介绍三大Python数据处理及可视化库——NumPy、Pandas以及matplotlib,为读者提供从基础使用到应用场景的全面掌握。 一、NumPy NumPy是Pyt…

    编程 2025-04-27
  • 使用Flutter开发ToDo List App

    本文将会介绍如何使用Flutter开发一个实用的ToDo List App。ToDo List,即待办事项清单,是一种记录人们未处理工作和待办事项的方式。随着日常生活的快节奏,如此…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25

发表回复

登录后才能评论