python 中經常會使用 numpy 庫來做科學計算。numpy 的本質就是建立出多維陣列,可使用 numpy 提供的各種科學計算方法對陣列進行計算。
import numpy as np
# 建立一維陣列
arr1 = np.array([1, 2, 3])
# 建立二維陣列
arr2 = np.array([[1, 2], [3, 4]])
通過 numpy 的 array() 方法,就可以建立出多維陣列。這樣的陣列也稱之為 numpy 物件,每個 numpy 物件都有兩個屬性,乙個是 shape ,另乙個是 dtype 。
訪問 numpy 的 shape 屬性可以獲得陣列的形狀,示例如下:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
arr3 = np.array([[1], [2], [3]])
arr4 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(arr1.shape) # (3,)
print(arr2.shape) # (2, 3)
print(arr3.shape) # (3, 1)
print(arr4.shape) # (2, 2)
根據結果可知,所謂陣列的形狀,就是指每一維元素的個數。以 arr2 為例,這是乙個二維陣列,它的第一維度(行)的元素個數為 2,第二維度(列)的元素個數為 3,所以結果就是 (2, 3) 。
訪問 numpy 的 dtype 屬性可以獲得陣列的型別,示例如下:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([1, 2, 3.2])
arr3 = np.array(['a', 5.0, 3])
arr4 = np.array([['a', 'b'], [5, 6]])
print(arr1.dtype) # int32
print(arr2.dtype) # float64
print(arr3.dtype) # 根據結果可知,當陣列中只有整數和浮點數時,numpy 會將整數全部轉為浮點數 。當陣列中存在字串時,numpy 會將所有元素全部轉為字串。其中,對於二維陣列 arr 而言,各訪問方式的含義如下:
對於 n 維陣列來說,訪問方式如下:
arr[第一維度位置, 第二維度位置, 第三維度位置, …, 第n維度位置]
numpy 有兩個較為相近的形狀變換方法,分別是 reshape() 和 resize() 。
使用示例及區別如下:
import numpy as np
arr = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])print(arr.shape) # (3, 3)
print(arr.reshape(1, 9)) # [[1 2 3 4 5 6 7 8 9]]
print(arr.shape) # (3, 3)
print(arr.resize(1, 9)) # none
print(arr.shape) # (1, 9)
根據結果得出的區別如下表:
是否改變原陣列
返回值reshape()
否處理之後的新陣列
resize()
是none
未完。。。
pyhton學習 人工智慧學習 NumPy
2020年6月9日23 09 24最後一次更新numpy numerical python 是 python 語言的乙個擴充套件程式庫,支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。numpy 是乙個執行速度非常快的數學庫,主要用於陣列計算,包含 背景 我是一開始在pycha...
21天實戰人工智慧系列 人工智慧產品經理最佳實踐
感謝關注天善智慧型,走好資料之路 歡迎關注天善智慧型,我們是專注於商業智慧型bi,人工智慧ai,大資料分析與挖掘領域的垂直社群,學習,問答 求職一站式搞定!課程名稱 21天實戰人工智慧系列 人工智慧產品經理最佳實踐 課程目標 洞察ai業務能力 熟悉ai基礎理論 發展趨勢 面臨問題和當前現狀 熟悉ai...
Python人工智慧常用庫Numpy使用入門
2.1 陣列 2.2 陣列索引操作 indexing 陣列索引 a np.array 1,2,3,4 5,6,7,8 9,10,11,12 2代表陣列的倒數第二行 1 3代表從第一列開始往後兩個元素a 2 1 3 out array 6,7 10,11 取倒數第二行 第三列元素a 2,3 out 8...