一、數組和數的計算
數組和數計算,數組中的每個元素和數進行計算
1、加
import numpy as np
arr1 = np.arange(12).reshape(3, 4)
print(arr1)
# 數組的每個元素和數進行加法運算
arr2 = arr1 + 2
print(arr2)
2、減
import numpy as np
arr1 = np.arange(12).reshape(3, 4)
# 數組的每個元素和數進行減法運算
arr2 = arr1 - 2
print(arr2)
3、乘
import numpy as np
arr1 = np.arange(12).reshape(3, 4)
# 數組的每個元素和數進行乘法運算
arr2 = arr1 * 2
print(arr2)
4、除
import numpy as np
arr1 = np.arange(12).reshape(3, 4)
# 數組的每個元素和數進行除法運算
arr2 = arr1 // 2
print(arr2)
注意:
nan: a/b, a和b都是0
inf: a/b, b是0,a非0
二、數組和數組的計算
1、數組的形狀相同
a、加
import numpy as np
arr1 = np.arange(12).reshape(3, 4)
arr2 = np.arange(24, 36).reshape(3, 4)
# 數組中對應位置的元素分别相加
arr3 = arr1 + arr2
print(arr3)
b、減
import numpy as np
arr1 = np.arange(12).reshape(3, 4)
arr2 = np.arange(24, 36).reshape(3, 4)
# 數組中對應位置的元素分别相減
arr3 = arr1 - arr2
print(arr3)
c、乘
import numpy as np
arr1 = np.arange(12).reshape(3, 4)
arr2 = np.arange(24, 36).reshape(3, 4)
# 數組中對應位置的元素分别相乘
arr3 = arr1 * arr2
print(arr3)
d、除
import numpy as np
arr1 = np.arange(12).reshape(3, 4)
arr2 = np.arange(24, 36).reshape(3, 4)
# 數組中對應位置的元素分别相除
arr3 = arr1 / arr2
print(arr3)
print(arr3.dtype)
# 數組中的每個元素保留兩位小數
arr4 = np.round(arr3, 2)
print(arr4)
2、數組的形狀不相同
a、列數相同
import numpy as np
arr1 = np.arange(12, 24).reshape(3, 4)
arr2 = np.arange(3, 7).reshape(4,)
# 加
arr3 = arr1 + arr2
print(arr3)
# 減
arr4 = arr2 - arr1
print(arr4)
# 乘
arr5 = arr1 * arr2
print(arr5)
# 除
arr6 = arr1 / arr2
print(arr6)
b、行數相同
import numpy as np
arr1 = np.arange(12, 24).reshape(3, 4)
arr2 = np.arange(3, 6).reshape(3, 1)
# 加
arr3 = arr1 + arr2
print(arr3)
# 減
arr4 = arr2 - arr1
print(arr4)
# 乘
arr5 = arr1 * arr2
print(arr5)
# 除
arr6 = arr1 / arr2
print(arr6)
注意:數組的計算遵循numpy的廣播原則
三、廣播原則
1、官方概念
如果兩個數組的後緣次元(從末尾開始計算的次元)的軸長度相符或其中一方的長度為1,則認為它們是廣播兼職的。
廣播會在缺失和(或)長度為1的次元上進行。
2、自己了解
1.軸:
在numpy中可以了解為方向,使用0,1,2...數字表示
數組shape的index, 0軸 1軸
2.軸長度:
包含資料的條數
數組shape的值