NumPy是Python中廣受歡迎的科學計算庫之一,它提供了一種高效的多維數組對象,以及對數組進行快速操作的函數。其中,len函數是NumPy庫中常用的函數之一,它的作用是返回數組的長度或尺寸。本文將從多個方面詳細闡述NumPy len函數及其作用。
一、基本用法
len函數在NumPy中的基本用法與Python中使用方法相同,可以用於返回數組的長度或尺寸。例如,對於一維數組,len函數可以返回該數組中元素的個數:
import numpy as np
x = np.array([1, 2, 3, 4, 5])
print(len(x)) # 輸出:5
對於多維數組,len函數將返回第一維的長度或尺寸:
y = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(len(y)) # 輸出:3
在NumPy中,len函數還可以用於返回字符串類型的數組元素的長度:
s = np.array(['cat', 'dog', 'elephant'])
print(len(s[0])) # 輸出:3
二、對於多維數組的處理
對於多維數組,len函數返回的是第一維的長度或尺寸,因此無法直接返回整個多維數組的大小。但是,可以結合其他NumPy函數使用,來返回多維數組的總體積或大小。
可以使用shape函數返回多維數組的各個維度的長度或尺寸,然後使用np.prod函數計算它們的乘積,就可以得到多維數組的大小。
z = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(np.prod(np.shape(z))) # 輸出:8
print(len(z)) # 輸出:2
另外,使用itemsize函數可以返回數組中每個元素的位元組大小(即數據類型的位元組數),然後再將數組的長度乘以每個元素的位元組大小,就可以得到數組佔用的總位元組數。
print(x.itemsize) # 輸出:8
print(len(x) * x.itemsize) # 輸出:40
三、對於字符串數組的處理
對於字符串類型的數組,len函數返回的是字符串元素的個數。
同時,NumPy還提供了從字符串數組中獲取最長字符串或最短字符串的函數。其中,max函數和min函數分別返回數組中最長和最短的字符串,size函數和itemsize函數分別返回整個數組和每個元素的位元組大小。
print(np.max(s)) # 輸出:elephant
print(np.min(s)) # 輸出:cat
print(s.size) # 輸出:3
print(s.itemsize) # 輸出:28
四、對於數據類型的處理
在NumPy中,數據類型也屬於一種數組對象,因此可以對數據類型應用len函數,並返回其元素的個數或長度。
在下面的示例中,定義一個複合數據類型,包含字符串類型和整數類型的元素,然後使用len函數返回總元素個數,和每個元素的位元組大小。
dt = np.dtype([('name', np.unicode_, 16), ('age', np.int32)])
a = np.array([('Amy', 30), ('Bob', 45), ('Cathy', 27), ('David', 61)], dtype=dt)
print(len(a)) # 輸出:4
print(a.itemsize) # 輸出:80
五、總結
本文從多個方面詳細闡述了NumPy len函數及其作用。len函數常用於返回數組的長度或尺寸,但對於多維數組來說,它僅能返回第一維的長度或尺寸。在處理多維數組時,可以結合其他函數計算其總體積或大小。對於字符串類型的數組,len函數返回字符串元素的個數,同時還可以使用其他函數獲取該數組中的最長字符串或最短字符串。對於數據類型,len函數也可返回其元素的個數或長度。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/291978.html