Số học đơn giản
Số học đơn giản
Bạn có thể sử dụng các toán tử số học +
-
*
/
trực tiếp giữa các mảng NumPy, nhưng phần này thảo luận về phần mở rộng tương tự trong đó chúng ta có các hàm có thể nhận bất kỳ đối tượng giống mảng nào, ví dụ như danh sách, bộ dữ liệu, v.v. và thực hiện số học có điều kiện .
Số học có điều kiện: có nghĩa là chúng ta có thể xác định các điều kiện mà phép toán số học sẽ xảy ra.
Tất cả các hàm số học được thảo luận đều có tham số where
trong đó chúng ta có thể chỉ định điều kiện đó.
Phép cộng
Hàm add()
tính tổng nội dung của hai mảng và trả về kết quả trong một mảng mới.
Ví dụ
Thêm các giá trị trong mảng1 vào các giá trị trong mảng2:
import numpy as np
arr1 = np.array([10, 11, 12, 13, 14, 15])
arr2 =
np.array([20,
21, 22, 23, 24, 25])
newarr = np.add(arr1, arr2)
print(newarr)
Hãy tự mình thử »Ví dụ trên sẽ trả về [30 32 34 36 38 40] là tổng của 10+20, 11+21, 12+22, v.v.
Phép trừ
subtract()
trừ các giá trị từ một mảng với các giá trị từ mảng khác và trả về kết quả trong một mảng mới.
Ví dụ
Trừ các giá trị trong mảng2 khỏi các giá trị trong mảng1:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 =
np.array([20,
21, 22, 23, 24, 25])
newarr = np.subtract(arr1, arr2)
print(newarr)
Hãy tự mình thử »Ví dụ trên sẽ trả về [-10 -1 8 17 26 35] là kết quả của 10-20, 20-21, 30-22, v.v.
Phép nhân
Hàm multiply()
nhân các giá trị từ một mảng với các giá trị từ một mảng khác và trả về kết quả trong một mảng mới.
Ví dụ
Nhân các giá trị trong mảng1 với các giá trị trong mảng2:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 =
np.array([20,
21, 22, 23, 24, 25])
newarr = np.multiply(arr1, arr2)
print(newarr)
Hãy tự mình thử »Ví dụ trên sẽ trả về [200 420 660 920 1200 1500] là kết quả của 10*20, 20*21, 30*22, v.v.
Phân công
Hàm divide()
chia các giá trị từ một mảng với các giá trị từ một mảng khác và trả về kết quả trong một mảng mới.
Ví dụ
Chia các giá trị trong mảng1 với các giá trị trong mảng2:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 =
np.array([3,
5, 10, 8, 2, 33])
newarr = np.divide(arr1, arr2)
print(newarr)
Hãy tự mình thử »Ví dụ trên sẽ trả về [3.33333333 4. 3. 5. 25. 1.81818182] là kết quả của 10/3, 20/5, 30/10, v.v.
Quyền lực
Hàm power()
tăng các giá trị từ mảng đầu tiên lên lũy thừa giá trị của mảng thứ hai và trả về kết quả trong một mảng mới.
Ví dụ
Nâng các giá trị trong mảng1 lên lũy thừa các giá trị trong mảng2:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 =
np.array([3,
5, 6, 8, 2, 33])
newarr = np.power(arr1, arr2)
print(newarr)
Hãy tự mình thử »Ví dụ trên sẽ trả về [1000 3200000 729000000 6553600000000 2500 0] là kết quả của 10*10*10, 20*20*20*20*20, 30*30*30*30*30*30, v.v.
còn lại
Cả hai hàm mod()
và remainder()
đều trả về phần còn lại của các giá trị trong mảng đầu tiên tương ứng với các giá trị trong mảng thứ hai và trả về kết quả trong một mảng mới.
Ví dụ
Trả lại số dư:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 =
np.array([3, 7, 9, 8, 2, 33])
newarr = np.mod(arr1, arr2)
print(newarr)
Hãy tự mình thử »Ví dụ trên sẽ trả về [1 6 3 0 0 27] là số dư khi bạn chia 10 với 3 (10%3), 20 với 7 (20%7) 30 với 9 (30%9), v.v.
Bạn nhận được kết quả tương tự khi sử dụng hàm remainder()
:
Ví dụ
Trả lại số dư:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 =
np.array([3, 7, 9, 8, 2, 33])
newarr = np.remainder(arr1, arr2)
print(newarr)
Hãy tự mình thử »Thương số và Mod
Hàm divmod()
trả về cả thương và mod. Giá trị trả về là hai mảng, mảng đầu tiên chứa thương và mảng thứ hai chứa mod.
Ví dụ
Trả về thương và mod:
import numpy as np
arr1 = np.array([10, 20, 30, 40, 50, 60])
arr2 =
np.array([3, 7, 9, 8, 2, 33])
newarr = np.divmod(arr1, arr2)
print(newarr)
Hãy tự mình thử » Ví dụ trên sẽ trả về:
(mảng([3, 2, 3, 5, 25, 1]), mảng([1, 6, 3, 0, 0, 27]))
Mảng đầu tiên biểu thị các thương số, (giá trị nguyên khi bạn chia 10 cho 3, 20 cho 7, 30 cho 9, v.v.
Mảng thứ hai biểu thị phần còn lại của cùng một phép chia.
Giá trị tuyệt đối
Cả hai hàm absolute()
và abs()
đều thực hiện cùng một phần tử hoạt động tuyệt đối nhưng chúng ta nên sử dụng absolute()
để tránh nhầm lẫn với math.abs()
có sẵn của python
Ví dụ
Trả về thương và mod:
import numpy as np
arr = np.array([-1, -2, 1, 2, 3, -4])
newarr = np.absolute(arr)
print(newarr)
Hãy tự mình thử »Ví dụ trên sẽ trả về [1 2 1 2 3 4].