一.基本操作
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 在適應該模組的全域性命名...