(100天2小時第十五天)numpy陣列的基本運算

2021-10-10 09:20:06 字數 2404 閱讀 6116

一.基本操作

1.陣列的算術運算會自動作用於每個元素,並返回乙個新的陣列。

+號

a = np.array([20,30,40,50])

b = np.arange(4)#預設0,1,2,3

*號,*返回的是每個元素相乘的結果,要實現矩陣乘法,需要使用dot函式

a = np.array([[1, 1],

[0, 1]])

b = np.array([[2, 0],

[3, 4]])

print(a*b)#對應位置元素相乘

print(a.dot(b))

print(np.dot(a, b))# 另一種形式的矩陣乘法

+=*=是直接修改原有的陣列,而不是新建乙個

注意:a是int型,b是float型。b+=a,直接改變b陣列,a+=b,報錯,a沒法儲存float64型別

2.當不同型別的陣列運算操作時,總是向精度更高的自動轉換。

a = np.ones(3, dtype=np.int32)

print(a)

b = np.linspace(0, np.pi, 3)#np.pi 是乙個常數表示圓周率π

print(b)

c = a + b

print(c)

print(c.dtype.name)

d = np.exp(c*1j)

print(d)

print(d.dtype.name)

np.exp():返回e的冪次方,e是乙個常數為2.71828

np.exp(1) 為自身, np.exp(2) 為平方

d=np.exp(c*1j) ''' 注意1j是虛數,進行複數運算

3.ndarray包含了很多一元運算。如求和,求最大,最小值等。

4.預設情況下,這些操作都是作用於每乙個元素,而不管它的維度。但是,我們也可以通過axis引數來限定操作的軸。

b = np.arange(12).reshape(3, 4)

print(b)

print('\n')

print(b.sum(axis=0))# 計算每一列的和

print('\n')

print(b.min(axis=1))# 計算每一行的最小值

print('\n')

print(b.cumsum(axis=1))# 每一行累積和

總結:1.要實現矩陣乘法,需要使用dot函式

2.陣列的算術運算會自動作用於每個元素,並返回乙個新的陣列。而+=*=是直接修改原有的陣列,而不是新建乙個。

3.a是int型,b是float型。b+=a,直接改變b陣列,a+=b,報錯,a沒法儲存float64型別

4.np.pi 是乙個常數表示圓周率π

d=np.exp(c*1j) 注意1j是虛數,進行複數運算

LinuxC 第十五天

靜態庫 靜態庫 要被包含到源程式中的庫 優點 執行速度快 缺點 占用系統資源比較多 使用的場合 對時間要求很高的場合 靜態庫的製作 1 把所有的源程式 c檔案 製作成目標檔案 o 檔案 gcc c mul.c o mul.o gcc c sub.c o sub.o gcc c add.c o add...

Qt第十五天

qwdialogsize.h ifndef qwdialogsize h define qwdialogsize h include namespace ui class qwdialogsize public qdialog endif qwdialogsize hqwdialogsize.cpp...

python第十五天

什麼是模組?一系列功能的集合 定義模組?建立乙個py檔案就是乙個模組,該py檔名就是模組名 怎麼使用模組?在要是用的模組檔案中通過import 模組名 來匯入模組 模組的四種方式?1 編譯執行模組所對應的py檔案,形成對應的pyc檔案 2 產生該模組自己的全域性命名空間 3 在適應該模組的全域性命名...