Như chúng ta biết, Numpy được tạo ra để thao tác và thực hiện các phép tính số học. Vì vậy mà thư viện này cung cấp sẵn cho chúng ta rất nhiều hàm toán học để thực hiện nhanh các phép toán một cách dễ dàng.

1. Các hàm lượng giác trong Numpy

NumPy cung cấp cho chúng ta đầy đủ các hàm lượng giác như Sin, Cos, Tan, Cot…. khi các phép tính trong hàm được thực hiện, các kết quả sẽ được trả về theo đơn vị đo radian.
Ví dụ, tính Sin, Cos, Tan, của một vài giá trị đặc biệt như sau:
import numpy as np

# Mang cac gia tri can tinh sin, cos, tan 
a = np.array([0,30,45,60,90])       

print('Gia tri Sin')
# Chuyen doi sang don vi radian bang cach nhan voi pi / 180
print(np.sin(a*np.pi/180),'\n') 

print('Gia tri Cos')
# Chuyen doi sang don vi radian bang cach nhan voi pi / 180
print(np.cos(a*np.pi/180),'\n') 

print('Gia tri Tan')
# Chuyen doi sang don vi radian bang cach nhan voi pi / 180
print(np.tan(a*np.pi/180),'\n')

Kết quả:

Gia tri Sin 
[0. 0.5 0.70710678 0.8660254 1.] 

Gia tri Cos 
[1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01 6.12323400e-17] 

Gia tri Tan 
[0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00 1.63312394e+16]
Các hàm arcsin, arcos và arctan trả về nghịch đảo lượng giác của sin, cos và tan của góc đã cho. Ví dụ dưới đây, tính các giá trị arcsin, arcos và arctan trong Numpy và trả về kết quả theo đơn vị radian như sau:
import numpy as np

# Cac gia tri can tinh sin, cos, tan 
a = np.array([0,30,45,60,90])

print('Gia tri Arcsin')
# Tinh gia tri arcsin theo don vi radian
sin = np.sin(a*np.pi/180) 
print(np.arcsin(sin),'\n') # tinh arcsin

print('Gia tri Arccos')
# Tinh gia tri arccos theo don vi radian
cos = np.cos(a*np.pi/180) 
print(np.arccos(cos),'\n') # tinh arccos

print('Gia tri Arctan')
# Tinh gia tri arctan theo don vi radian
tan = np.tan(a*np.pi/180) 
print(np.arctan(tan),'\n') # tinh arctan

Kết quả:

Gia tri Arcsin
[0. 0.52359878 0.78539816 1.04719755 1.57079633] 

Gia tri Arccos
[0. 0.52359878 0.78539816 1.04719755 1.57079633]

Gia tri Arctan
[0. 0.52359878 0.78539816 1.04719755 1.57079633]
Các ví dụ trên đều thực hiện và đưa ra kết quả theo đơn vị radian, chúng ta hoàn toàn có thể chuyển các kết quả trên thanh đơn vị đo độ tương ứng bằng cách sử dụng hàm np.degrees() như sau:
import numpy as np

# Cac gia tri can tinh sin, cos, tan 
a = np.array([0,30,45,60,90])

print('Gia tri Arcsin')
sin = np.sin(a*np.pi/180) 
# Tinh gia tri arcsin theo don vi do
degrees = np.degrees(np.arcsin(sin))
print(degrees,'\n') 

print('Gia tri Arccos')
cos = np.cos(a*np.pi/180) 
# Tinh gia tri arccos theo don vi do
degrees = np.degrees(np.arccos(cos))
print(degrees,'\n') 

print('Gia tri Arctan')
tan = np.tan(a*np.pi/180) 
# Tinh gia tri arctan theo don vi do
degrees = np.degrees(np.arctan(tan))
print(degrees,'\n')

Kết quả:

Gia tri Arcsin
[ 0. 30. 45. 60. 90.] 

Gia tri Arccos
[ 0. 30. 45. 60. 90.]

Gia tri Arctan
[ 0. 30. 45. 60. 90.]

2. Các hàm làm tròn trong Numpy

2.1 Hàm np.around()

Hàm np.around() được sử dụng để làm tròn các giá trị trong mảng Numpy. Hàm này sẽ cần nhận các tham số sau.

  • a : Dữ liệu đầu vào
  • decimals : Số lượng số thập phân làm tròn đến. Mặc định là 0. Nếu decimals là âm, số nguyên được làm tròn đến vị trí bên trái của dấu thập phân

Ví dụ dưới đây, sử dùng hàm np.around() để làm tròn các giá trị có trong mảng với các tham số decimals = 0, decimals = 1 decimals = -1 như sau:

import numpy as np 
a = np.array([2.0,6.55, 234, 0.789, 26.432]) 

print("Mang ban dau")
print(a)
print('\n')  

print("Mang sau khi lam tron")
print (np.around(a, decimals = 0))
print('\n')  
print (np.around(a, decimals = 1)) 
print('\n')  
print (np.around(a, decimals = -1))

Kết quả:

Mang ban dau
[  2.      6.55  234.      0.789  26.432]


Mang sau khi lam tron
[  2.   7. 234.   1.  26.]


[  2.    6.6 234.    0.8  26.4]


[  0.  10. 230.   0.  30.]

2.2 Hàm np.floor()

Hàm np.floor() được sử dụng để làm tròn các giá trị thành một số nguyên nhỏ nhất gần nó nhất. Ví dụ dưới đây, sử dụng hàm np.floor() để làm tròn các giá trị trong mảng thành số nguyên nhỏ gần các giá trị ban đầu nhất:
import numpy as np 
a = np.array([-2.7, 2.5, -0.1, 0.3, 20]) 

print("Mang ban dau")
print(a)
print()  

print("Mang sau khi lam tron")
print(np.floor(a))

Kết quả:

Mang ban dau
[-2.7  2.5 -0.1  0.3 20. ]

Mang sau khi lam tron
[-3.  2. -1.  0. 20.]

2.3 Hàm np.ceil()

Hàm np.ceil() được sử dụng để làm tròn các giá trị thành một số nguyên lớn nhất gần nó nhất. Ví dụ dưới đây, sử dụng hàm np.ceil() để làm tròn các giá trị trong mảng thành số nguyên lớn gần các giá trị ban đầu nhất:
import numpy as np 
a = np.array([-2.7, 2.5, -0.1, 0.3, 20]) 

print("Mang ban dau")
print(a)
print()  

print("Mang sau khi lam tron")
print(np.ceil(a))
Mang ban dau
[-2.7  2.5 -0.1  0.3 20. ]

Mang sau khi lam tron
[-2.  3. -0.  1. 20.]