詳解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/zh-tw/n/334189.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HXTRF的頭像HXTRF
上一篇 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

發表回復

登錄後才能評論