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ề một phần mở rộng tương tự, trong đó chúng ta có các hàm có thể lấy bất kỳ đối tượng giống mảng nào, ví dụ danh sách, bộ giá trị, v.v. và thực hiện số học có điều kiện .
Arithmetic Conditionally: 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 đã thảo luận nhận một where
tham số mà 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.
Thí dụ
Thêm các giá trị trong arr1 vào các giá trị trong arr2:
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)
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ừ
Hàm subtract()
trừ 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.
Thí dụ
Trừ các giá trị trong arr2 với các giá trị trong arr1:
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)
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.
Thí dụ
Nhân các giá trị trong arr1 với các giá trị trong arr2:
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)
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.
Thí dụ
Chia các giá trị trong arr1 với các giá trị trong arr2:
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)
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.
Sức mạnh
Hàm power()
tăng các giá trị từ mảng đầu tiên lên lũy thừa các giá trị của mảng thứ hai và trả về kết quả trong một mảng mới.
Thí dụ
Tăng các giá trị trong arr1 bằng sức mạnh của các giá trị trong arr2:
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)
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.
Phần còn lại
Cả hàm mod()
và đều remainder()
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.
Thí dụ
Trả lại phần còn lại:
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)
Ví dụ trên sẽ trả về [1 6 3 0 0 27] là phần còn lại 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 remainder()
hàm:
Thí dụ
Trả lại phần còn lại:
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)
Quotient 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.
Thí dụ
Trả lại thương số 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)
Ví dụ trên sẽ trả về:
(array ([3, 2, 3, 5, 25, 1]), array ([1, 6, 3, 0, 0, 27]))
Mảng đầu tiên đại diện cho các thương số, ( giá trị nguyên khi bạn chia 10 với 3, 20 với 7, 30 với 9, v.v.
Mảng thứ hai đại diện cho phần còn lại của các phép chia giống nhau.
Giá trị tuyệt đối
Cả hàm hàm absolute()
và abs()
hàm đề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 bản sẵn có của pythonmath.abs()
Thí dụ
Trả lại thương số và mod:
import numpy as np
arr = np.array([-1, -2, 1, 2, 3, -4])
newarr = np.absolute(arr)
print(newarr)
Ví dụ trên sẽ trả về [1 2 1 2 3 4].