柚子快報激活碼778899分享:numpy的使用教程
一、創(chuàng)建多維數(shù)組:
多維數(shù)組對象:NumPy的核心數(shù)據(jù)結(jié)構(gòu)是ndarray,它是一個多維數(shù)組,可以存儲同質(zhì)數(shù)據(jù)類型的元素。這些數(shù)組可以是一維、二維或更高維度的,非常適合進行向量化操作和矩陣運算。
①創(chuàng)建一維數(shù)組:
import numpy as np#導(dǎo)入numpy庫,命名為np
data=np.array([1,2,3,4,5,6,7,8,9])#創(chuàng)建了一個一維數(shù)組
print(data)
?②創(chuàng)建二維數(shù)組:
import numpy as np#導(dǎo)入numpy庫,命名為np
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print(array_2d)
③創(chuàng)建三維數(shù)組:?
import numpy as np#導(dǎo)入numpy庫,命名為np
array_3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(array_3d)
這三個示例都用到了函數(shù)array?
?④創(chuàng)建全0數(shù)組:
利用函數(shù)zero生成全為零的數(shù)組,需要傳入數(shù)組的規(guī)模。
?例如:
import numpy as np
# 創(chuàng)建一個長度為5的一維全零數(shù)組
array_1d = np.zeros(5)
print(array_1d)
# 創(chuàng)建一個2x3的二維全零數(shù)組
array_2d = np.zeros((2, 3))
print(array_2d)
⑤創(chuàng)建全1數(shù)組:?
利用函數(shù)ones生成全1數(shù)組,需要傳入數(shù)組的規(guī)模。
# 創(chuàng)建一個3x3的全一數(shù)組
ones_array = np.ones((3, 3))
print("全一數(shù)組:\n", ones_array)
?⑥使用創(chuàng)建連續(xù)序列數(shù)組:
利用函數(shù)arange創(chuàng)建函數(shù),可以直接給出長度(這樣元素默認(rèn)從0~長度-1),同時也可以指定起始值和終止值。也可以附加上步長。
import numpy as np
# 創(chuàng)建一個從0到9的連續(xù)序列數(shù)組(不包括10)
array = np.arange(10)
print("連續(xù)序列數(shù)組:", array)
# 創(chuàng)建一個從5到10的連續(xù)序列數(shù)組(不包括10)
array = np.arange(5, 10)
print("連續(xù)序列數(shù)組:", array)
# 創(chuàng)建一個從0到10,步長為2的連續(xù)序列數(shù)組
array = np.arange(0, 10, 2)
print("連續(xù)序列數(shù)組:", array)
?⑦使用random創(chuàng)建隨機數(shù)組:
給定數(shù)組的規(guī)模,可以生成每一個元素都介于[0, 1)之間。
import numpy as np
# 創(chuàng)建一個2x3的隨機數(shù)組,元素值在[0, 1)之間
random_array = np.random.rand(2, 3)
print("隨機數(shù)組:\n", random_array)
?二、改變數(shù)組的形狀:
①reshape函數(shù)
reshape函數(shù):可以返回一個新的形狀的數(shù)組視圖,而不改變原數(shù)組的數(shù)據(jù)。如果新形狀與原數(shù)組的總元素數(shù)量不匹配,則會引發(fā)錯誤。
import numpy as np
# 創(chuàng)建一個一維數(shù)組
a = np.array([1, 2, 3, 4, 5, 6])
# 改變數(shù)組形狀為2x3
b = a.reshape((2, 3))
print("使用reshape后的數(shù)組:\n", b)
②resize函數(shù):
會直接修改原數(shù)組的形狀和大小。如果新形狀比原數(shù)組大,則多出的元素會被填充為0;如果新形狀比原數(shù)組小,則多余的元素會被丟棄。
import numpy as np
# 創(chuàng)建一個一維數(shù)組
a = np.array([1, 2, 3, 4, 5, 6])
# 改變數(shù)組形狀為2x3
a.resize((2, 3))
print("使用resize后的數(shù)組:\n", a)
?③flatten函數(shù):
將多維數(shù)組展平成一維數(shù)組。它返回的是原數(shù)組的一個副本,不會修改原數(shù)組。
import numpy as np
# 創(chuàng)建一個二維數(shù)組
a = np.array([[1, 2, 3], [4, 5, 6]])
# 將二維數(shù)組展平成一維數(shù)組
b = a.flatten()
print("使用flatten后的數(shù)組:", b)
④transpose函數(shù):?
方法用于交換數(shù)組的軸。例如,可以將一個二維數(shù)組的行和列互換,類似于轉(zhuǎn)置矩陣
import numpy as np
# 創(chuàng)建一個二維數(shù)組
a = np.array([[1, 2, 3], [4, 5, 6]])
# 轉(zhuǎn)置二維數(shù)組
b = a.transpose()
print("使用transpose后的數(shù)組:\n", b)
?三、數(shù)組堆疊:
①vstack:
垂直堆疊數(shù)組?
import numpy as np
# 創(chuàng)建兩個一維數(shù)組
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# 垂直堆疊
result = np.vstack((a, b))
print("使用vstack后的數(shù)組:\n", result)
#結(jié)果: [[1 2 3] [4 5 6]]
②hstack:?
?水平堆疊數(shù)組
import numpy as np
# 創(chuàng)建兩個一維數(shù)組
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
# 水平堆疊
result = np.hstack((a, b))
print("使用hstack后的數(shù)組:", result)
#結(jié)果:[1 2 3 4 5 6]
四、簡單數(shù)據(jù)分析:
①基本統(tǒng)計量:?
均值 (mean): 計算數(shù)組元素的平均值。中位數(shù) (median): 計算數(shù)組元素的中位數(shù)。標(biāo)準(zhǔn)差 (std): 計算數(shù)組元素的標(biāo)準(zhǔn)差。方差 (var): 計算數(shù)組元素的方差。最小值 (min): 返回數(shù)組中的最小值。最大值 (max): 返回數(shù)組中的最大值。求和 (sum): 返回數(shù)組元素的總和。累計和 (cumsum): 返回數(shù)組元素的累計和。累計積 (cumprod): 返回數(shù)組元素的累計積。?
import numpy as np
# 創(chuàng)建一個數(shù)組
a = np.array([1, 2, 3, 4, 5])
print("均值:", np.mean(a))
print("中位數(shù):", np.median(a))
print("標(biāo)準(zhǔn)差:", np.std(a))
print("方差:", np.var(a))
print("最小值:", np.min(a))
print("最大值:", np.max(a))
print("求和:", np.sum(a))
print("累計和:", np.cumsum(a))
print("累計積:", np.cumprod(a))
②相關(guān)系數(shù)和協(xié)方差:
相關(guān)系數(shù) (corrcoef): 計算兩個數(shù)組之間的相關(guān)系數(shù)矩陣。協(xié)方差 (cov): 計算兩個數(shù)組之間的協(xié)方差矩陣。
import numpy as np
# 創(chuàng)建兩個數(shù)組
x = np.array([1, 2, 3, 4, 5])
y = np.array([5, 4, 3, 2, 1])
# 計算相關(guān)系數(shù)矩陣
correlation_matrix = np.corrcoef(x, y)
print("相關(guān)系數(shù)矩陣:\n", correlation_matrix)
# 計算協(xié)方差矩陣
covariance_matrix = np.cov(x, y)
print("協(xié)方差矩陣:\n", covariance_matrix)
五、創(chuàng)建矩陣以及矩陣乘法、初步運算:
在機器學(xué)習(xí)之中,創(chuàng)建矩陣以及矩陣乘法是最常用的功能:
numpy.array()函數(shù)來創(chuàng)建矩陣。
矩陣乘法可以通過使用numpy.dot()函數(shù)。
import numpy as np
# 創(chuàng)建兩個矩陣
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
# 使用numpy.dot()進行矩陣乘法
C = np.dot(A, B)
print("使用numpy.dot()的矩陣乘法結(jié)果:")
print(C)
# 使用@運算符進行矩陣乘法
D = A @ B
print("使用@運算符的矩陣乘法結(jié)果:")
print(D)
?求轉(zhuǎn)置矩陣、矩陣求逆、矩陣的特征值和特征向量、
import numpy as np
matrix = np.array([[1, 2], [3, 4]])
#利用函數(shù)transpose獲取轉(zhuǎn)置矩陣
transpose_matrix = np.transpose(matrix)
print("Transpose of the matrix:\n", transpose_matrix)
square_matrix = np.array([[1, 2], [3, 4]])
#矩陣求逆,只有矩陣為方陣且不為0的時候才有逆矩陣,利用函數(shù)linalg.inv實現(xiàn)
try:
inverse_matrix = np.linalg.inv(square_matrix)
print("Inverse of the square matrix:\n", inverse_matrix)
except np.linalg.LinAlgError:
print("Matrix is singular and cannot be inverted.")
#使用numpy.linalg.eig()來計算矩陣的特征值和特征向量。
eigenvalues, eigenvectors = np.linalg.eig(square_matrix)
print("Eigenvalues of the square matrix:\n", eigenvalues)
print("Eigenvectors of the square matrix:\n", eigenvectors)
?
?
柚子快報激活碼778899分享:numpy的使用教程
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。