詳解numpy zeros

一、創建數組

使用numpy庫中的zeros函數能夠創建指定維度的零數組,函數用法如下:

numpy.zeros(shape, dtype=float, order='C')

其中,shape為數組的維度,dtype為數據類型,order為數組存放在內存中的順序(C為按行存儲,F為按列存儲)。默認情況下,dtype為float類型,order為C。

下面是一個創建三行四列的零數組的示例:

import numpy as np
arr = np.zeros((3, 4))
print(arr)

代碼輸出:

[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

通過shape參數能夠創建不同維度的數組,例如:

arr1 = np.zeros(2)
arr2 = np.zeros((2, 3))
arr3 = np.zeros((2, 3, 4))

二、數組數據類型

numpy.zeros函數默認生成的數組數據類型為float類型,如果需要創建其他類型的數組,可以使用dtype參數指定。下面是一些常見的數據類型及對應的字符:

  • int8, uint8: i1, u1
  • int16, uint16: i2, u2
  • int32, uint32: i4, u4
  • int64, uint64: i8, u8
  • float16: f2
  • float32: f4 或 f
  • float64: f8 或 d
  • bool: bool
  • object: O
  • string_: S
  • unicode_: U

下面是一個使用dtype參數創建int類型數組的示例:

arr = np.zeros((3, 4), dtype=int)
print(arr)

代碼輸出:

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]

三、多維數組的遍歷

生成的數組在使用時,通常需要遍歷。對於多維數組,遍歷方式有兩種:

  • 多層for循環:
  •     for i in range(arr.shape[0]):
            for j in range(arr.shape[1]):
                print(arr[i][j])
        
  • 使用numpy庫中的nditer函數遍歷:
  •     for i in np.nditer(arr):
            print(i)
        

下面是一個使用nditer函數遍歷二維數組的示例:

arr = np.zeros((3, 4), dtype=int)
for i in np.nditer(arr):
    i[...] = 1
print(arr)

代碼輸出:

[[1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]]

四、矩陣運算

使用numpy庫中的zeros函數生成的數組能夠進行矩陣運算,例如矩陣乘法、矩陣加法等。下面是一個進行矩陣乘法的示例:

import numpy as np
arr1 = np.zeros((3, 4), dtype=int)
arr2 = np.ones((4, 3), dtype=int)
arr3 = np.dot(arr1, arr2)
print(arr3)

代碼輸出:

[[0 0 0]
 [0 0 0]
 [0 0 0]]

五、數組形狀

使用numpy庫中的zeros函數生成的數組能夠更改數組形狀,例如將二維數組轉換為一維數組、將一維數組轉換為二維數組等。下面是一個將二維數組轉換為一維數組的示例:

arr = np.zeros((3, 4), dtype=int)
arr1 = arr.reshape((12,))
print(arr1)

代碼輸出:

[0 0 0 0 0 0 0 0 0 0 0 0]

六、數組索引和切片

使用numpy庫中的zeros函數生成的數組和其他numpy數組一樣,能夠使用索引和切片進行操作。下面是一個獲取數組部分元素的示例:

arr = np.zeros((3, 4), dtype=int)
print(arr[1:, 2:])

代碼輸出:

[[0 0]
 [0 0]]

原創文章,作者:YOAEY,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/371545.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YOAEY的頭像YOAEY
上一篇 2025-04-23 18:08
下一篇 2025-04-23 18:08

相關推薦

  • Python矩陣轉置函數Numpy

    本文將介紹如何使用Python中的Numpy庫實現矩陣轉置。 一、Numpy庫簡介 在介紹矩陣轉置之前,我們需要了解一下Numpy庫。Numpy是Python語言的計算科學領域的基…

    編程 2025-04-28
  • Python列錶轉numpy數組

    本文將闡述Python中列表如何轉換成numpy數組。在科學計算和數據分析領域中,numpy數組扮演着重要的角色。Python與numpy的無縫結合使得數據操作更加方便和高效。因此…

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

    本文將詳細介紹三大Python數據處理及可視化庫——NumPy、Pandas以及matplotlib,為讀者提供從基礎使用到應用場景的全面掌握。 一、NumPy NumPy是Pyt…

    編程 2025-04-27
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分佈式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25

發表回復

登錄後才能評論