【相關推薦:Python3影片教學 】
陣列用於在一個變數中儲存多個值。 Python 沒有對數組的內建支持,但可以使用 Python 列表代替。
範例:
arr = [1, 2, 3, 4, 5] arr1 = ["geeks", "for", "geeks"]
# 用于创建数组的 Python 程序 # 使用列表创建数组 arr=[1, 2, 3, 4, 5] for i in arr: print(i)
輸出:
1
2
3
4
5
array(data type, value list) 函數用於建立一個數組,其參數中指定了資料類型和值列表。
範例:
# 演示 array() 工作的 Python 代码 # 为数组操作导入“array” import array # 用数组值初始化数组 # 用有符号整数初始化数组 arr = array.array('i', [1, 2, 3]) # 打印原始数组 print ("The new created array is : ",end="") for i in range (0,3): print (arr[i], end=" ") print ("\r")
輸出:
The new created array is : 1 2 3 1 5
NumPy 提供了幾個函數來建立具有初始佔位符內容的陣列。這些最大限度地減少了成長陣列的必要性,這是一項昂貴的操作。例如:np.zeros、np.empty等。
numpy.empty(shape, dtype = float, order = 'C'): 傳回給定形狀和類型的新數組,具有隨機值。
# 说明 numpy.empty 方法的 Python 代码 import numpy as geek b = geek.empty(2, dtype = int) print("Matrix b : \n", b) a = geek.empty([2, 2], dtype = int) print("\nMatrix a : \n", a) c = geek.empty([3, 3]) print("\nMatrix c : \n", c)
輸出:
Matrix b :
[ 0 1079574528]
Matrix a :
[[0 01 ]
[0 0]]
Matrix a :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0 .]]
numpy.zeros(shape, dtype = None, order = 'C'): 傳回給定形狀和類型的新數組,帶零。
# 说明 numpy.zeros 方法的 Python 程序 import numpy as geek b = geek.zeros(2, dtype = int) print("Matrix b : \n", b) a = geek.zeros([2, 2], dtype = int) print("\nMatrix a : \n", a) c = geek.zeros([3, 3]) print("\nMatrix c : \n", c)
輸出:
重塑陣列Matrix b :
[ 0. 0. 0 .]]
[0 0]
Matrix a :
[[0 0 ]
[0 0]]
Matrix c :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0. 0.]
我們可以使用
reshape
numpy.reshape(array, shape, order = 'C'):
在不更改陣列資料的情況下對陣列進行整形。# 说明 numpy.reshape() 方法的 Python 程序 import numpy as geek array = geek.arange(8) print("Original array : \n", array) # 具有 2 行和 4 列的形状数组 array = geek.arange(8).reshape(2, 4) print("\narray reshaped with 2 rows and 4 columns : \n", array) # 具有 2 行和 4 列的形状数组 array = geek.arange(8).reshape(4 ,2) print("\narray reshaped with 2 rows and 4 columns : \n", array) # 构造 3D 数组 array = geek.arange(8).reshape(2, 2, 2) print("\nOriginal array reshaped to 3D : \n", array)輸出:
為了建立數字序列,NumPy 提供了一個類似range 的函數,它會傳回數組而不是列表。[6 7]]]
Original array :
[0 1 2 3 4 5 6 7]
array reshaped with 2 rows and 4 columns :
[[0 1 2 3]
[4 5 6 7]]
array reshaped with 2 rows and 4 columns :
[[0 1]##[0 1]
[2 3]
[4 5]
[6 7]]
Original array reshaped to 3D :
[[[0 1]
[2 3]]
[[4 5]
arange傳回給定間隔內均勻分佈的值。 步
長是指定的。linspace 傳回給定間隔內均勻分佈的值。 編號
_ 的元素被回傳。arange([start,] stop[, step,][, dtype]):
根據間隔傳回一個具有均勻間隔元素的陣列。所提及的間隔是半開的,即[開始,停止)# 说明 numpy.arange 方法的 Python 编程 import numpy as geek print("A\n", geek.arange(4).reshape(2, 2), "\n") print("A\n", geek.arange(4, 10), "\n") print("A\n", geek.arange(4, 20, 3), "\n")輸出:
## [ 4 7 10 13 16 19]
A
[[0 1]
[2 3]]
A
[4 5 6 7 8 9]
################################################################################################################################# ####numpy.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None):### 在間隔中均勻回傳數字空間。類似於 arange 但不是 step 它使用樣本編號。 ###
# 说明 numpy.linspace 方法的 Python 编程 import numpy as geek # 重新设置为 True print("B\n", geek.linspace(2.0, 3.0, num=5, retstep=True), "\n") # 长期评估 sin() x = geek.linspace(0, 2, 10) print("A\n", geek.sin(x))######輸出:############B### (array([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)### ###A### [ 0. 0.22039774 0.42995636 0.6183698 0.77637192 0.6183698 0.77637192 0.8961922#71 786557 0.90929743]#########展平陣列#######我們可以用展平方法將陣列的副本折疊成一維。它接受 order 參數。預設值為“C”(用於行優先順序)。使用“F”表示列主要順序。 #########numpy.ndarray.flatten(order = 'C')### :傳回折疊成一維的陣列的副本。 ###
# 说明 numpy.flatten() 方法的 Python 程序 import numpy as geek array = geek.array([[1, 2], [3, 4]]) # 使用扁平化方法 array.flatten() print(array) #使用扁平化方法 array.flatten('F') print(array)######輸出 :######
[1, 2, 3, 4]
[1, 3, 2, 4]
功能 | 描述 |
---|---|
empty() | 傳回給定形狀和類型的新數組,而不初始化條目 |
empty_like() | 傳回與給定數組具有相同形狀和類型的新數組 |
eye() | 傳回一個二維數組,其中對角線為1,其他位置為0。 |
identity() | 傳回標識陣列 |
#ones() | ##傳回給定形狀和類型的新數組,用一個填充|
返回與給定數組具有相同形狀和類型的數組 | |
傳回給定形狀和類型的新數組,用零填滿 | |
傳回與給定數組具有相同形狀和類型的零數組 | |
傳回與給定數組具有相同形狀和類型的完整數組。 | |
建立一個陣列 | |
將輸入轉換為陣列 | |
將輸入轉換為ndarray,但透過ndarray 子類別 | |
傳回記憶體中的連續數組(C 順序) | |
將輸入解釋為矩陣 | |
傳回給定物件的陣列副本 | |
將緩衝區解釋為一維數組 | |
從文字或二進位檔案中的資料建構陣列 | |
#透過在在每個座標上執行函數來建構數組 | |
#從可迭代物件建立一個新的一維數組 | |
從字串中的文字資料初始化的新一維數組 | |
從文字檔案載入資料 | |
在給定間隔內傳回均勻間隔的值 | |
在指定的時間間隔內傳回均勻分佈的數字 | |
傳回在對數刻度上均勻分佈的數字 | |
傳回在對數尺度上均勻分佈的數字(幾何級數) | |
從座標向量傳迴座標矩陣 | |
nd_grid 實例,它傳回一個密集的多維「網格」 | |
nd_grid 實例,它傳回一個開放的多維「meshgrid」 | |
提取對角線或建構對角線數組 | |
建立一個二維數組,將扁平化輸入作為對角線 | |
一個數組,在給定的對角線處和下方都有一個,在其他地方有零 | |
陣列的下三角形 | |
#陣列的上三角形 | |
產生范德蒙矩陣 | |
將輸入解釋為矩陣 | |
從字串、巢狀序列或陣列建立矩陣物件 |
以上是Python NumPy教程之數組的創建詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!