Numpy教學:從零開始學習數組的創建
Numpy教學:從零開始學習陣列的創建,需要具體程式碼範例
概述:
Numpy是Python的一個開源數學函式庫,提供了大量的數學函數和資料結構,尤其是數組(Arrays)。在機器學習和資料分析中,陣列是一個非常常見且重要的資料結構,因此學習如何建立和操作陣列是非常關鍵的。本教學旨在從零開始介紹Numpy中數組的創建,幫助讀者快速上手。
- 導入Numpy函式庫
在開始之前,我們首先需要導入Numpy函式庫。通常,我們使用import語句將Numpy庫導入到我們的Python程式碼中。
import numpy as np
- 建立一維數組
在Numpy中,一維數組就是一個包含相同資料類型元素的列表。我們可以使用Numpy提供的ndarray
函數來建立一維數組。
array_1d = np.array([1, 2, 3, 4, 5]) print(array_1d)
輸出:[1 2 3 4 5]
- #建立二維陣列
二維陣列是一個包含多個行和列的表格結構。我們可以使用多種方法來建立二維數組,其中最常用的是透過列表的列表來建立。
array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(array_2d)
輸出:
[[1 2 3] [4 5 6] [7 8 9]]
- 建立特定類型的陣列
在某些情況下,我們需要建立一個特定類型的數組,例如全0數組、全1數組或空數組。 Numpy提供了一些函數來建立這些特殊類型的陣列。
建立全0數組
zeros_array = np.zeros((3, 4)) print(zeros_array)
登入後複製輸出:
[[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]]
登入後複製建立全1數組
ones_array = np.ones((2, 3)) print(ones_array)
登入後複製輸出:
[[1. 1. 1.] [1. 1. 1.]]
登入後複製建立空數組
empty_array = np.empty((2, 2)) print(empty_array)
登入後複製#輸出:
[[4.94e-323 9.88e-323] [1.48e-322 1.97e-322]]
登入後複製
- 建立序列數組
在某些情況下,我們希望建立一個序列數組,即一個均勻間隔的數組。 Numpy提供了arange
函數和linspace
函數來建立這樣的陣列。
使用
arange
函數建立序列陣列sequence_array = np.arange(0, 10, 2) print(sequence_array)
登入後複製輸出:[0 2 4 6 8]
#使用
linspace
函數建立序列陣列sequence_array = np.linspace(0, 1, 5) print(sequence_array)
登入後複製輸出:[0. 0.25 0.5 0.75 1. ]
- #隨機數組的創建
除了上述方法外,我們還可以使用Numpy提供的隨機函數來建立隨機數組。常用的隨機函數有random
、rand
、randn
、randint
等。
建立隨機陣列
random_array = np.random.random((2, 3)) print(random_array)
登入後複製輸出:
[[0.59525333 0.78593695 0.30467253] [0.83647996 0.09302248 0.85711096]]
登入後複製建立服從常態分配的隨機陣列
normal_array = np.random.randn(3, 3) print(normal_array)
登入後複製輸出:
[[-0.96338454 -0.44881001 0.01016194] [-0.78893991 -0.32811758 0.11091332] [ 0.87585342 0.49660924 -0.52104011]]
登入後複製建立隨機整數數組
random_int_array = np.random.randint(1, 10, (2, 4)) print(random_int_array)
登入後複製輸出:
##這篇文章介紹了Numpy庫中數組的創建,包括一維數組和二維數組的創建,以及特定類型數組、序列數組和隨機數組的創建方法,並提供了具體的程式碼範例。希望本教程能夠對讀者理解和掌握Numpy中數組的創建起到幫助作用。[[3 9 3 3] [1 9 7 5]]
登入後複製以上是Numpy教學:從零開始學習數組的創建的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用foreach循環移除PHP數組中重複元素的方法如下:遍歷數組,若元素已存在且當前位置不是第一個出現的位置,則刪除它。舉例而言,若資料庫查詢結果有重複記錄,可使用此方法移除,得到不含重複記錄的結果。

PHP中深度複製數組的方法包括:使用json_decode和json_encode進行JSON編碼和解碼。使用array_map和clone進行深度複製鍵和值的副本。使用serialize和unserialize進行序列化和反序列化。

PHP數組鍵值翻轉方法效能比較顯示:array_flip()函數在大型數組(超過100萬個元素)下比for迴圈效能更優,耗時更短。手動翻轉鍵值的for迴圈方法耗時相對較長。

多維數組排序可分為單列排序和嵌套排序。單列排序可使用array_multisort()函數依列排序;巢狀排序需要遞歸函數遍歷陣列並排序。實戰案例包括按產品名稱排序和按銷售量和價格複合排序。

PHP的array_group_by函數可依鍵或閉包函數將陣列中的元素分組,傳回關聯數組,其中鍵為組名,值是屬於該組的元素數組。

在PHP中執行陣列深度複製的最佳實踐是:使用json_decode(json_encode($arr))將陣列轉換為JSON字串,然後再轉換回陣列。使用unserialize(serialize($arr))將陣列序列化為字串,然後將其反序列化為新陣列。使用RecursiveIteratorIterator迭代器對多維數組進行遞歸遍歷。

PHP的array_group()函數可用來按指定鍵對陣列進行分組,以尋找重複元素。函數透過以下步驟運作:使用key_callback指定分組鍵。可選地使用value_callback確定分組值。對分組元素進行計數並識別重複項。因此,array_group()函數對於尋找和處理重複元素非常有用。

PHP數組合併去重演算法提供了平行的解決方案,將原始陣列分成小塊並行處理,主進程合併區塊的結果去重。演算法步驟:分割原始數組為均等分配的小塊。並行處理每個區塊去重。合併區塊結果並再次去重。
