AI Cho Mọi Người

AI Cho Mọi Người

Numpy exercises

 

 

 

Câu 1: Thay thế tất cả các phần tử trong một mảng có giá trị lớn hơn 30 thành 30 và dưới 10 thành 10.

 input: [28. 15. 22. 42.  1.  7. 34. 41.  8. 29.]
output: [28. 15. 22. 30. 10. 10. 30. 30. 10. 29.]

 

Câu 2: Lấy vị trí của 3 giá trị lớn nhất trong một mảng numpy

 input: [28. 15. 22. 42.  1.  7. 34. 41.  8. 29.]
output: [6 7 3]

 

Câu 3: Chuyển một mảng nhiều chiều thành một mảng 1 chiều

 input: [array([0, 1, 2]) array([3, 4, 5, 6]) array([7, 8, 9])]
output: [0 1 2 3 4 5 6 7 8 9]

 

Câu 4: Tạo one-hot encoding cho một mảng numpy. One-hot encoding nhằm chuyển đổi mỗi giá trị (số nguyên) n thành một vector v mà vị trí thứ n trong vector v mang giá trị 1 và  tất cả vị trí khác đều mang giá trị 0.

 input: [2 1 3 3 1 2]
output: array([[0., 1., 0.],
              [1., 0., 0.],
              [0., 0., 1.],
              [0., 0., 1.],
              [1., 0., 0.],
              [0., 1., 0.]])

 

Câu 5: Sắp xếp các phần tử trong một mảng 1 chiều

 input: [3 6 4 8]
output: [3 4 6 8]

 

Câu 6: Tìm giá trị lớn nhất trong mỗi hàng và mỗi cột của một mảng 2d

input

[[5 1 7]
 [3 5 2]
 [6 4 5]]


output

Max by column
[6 5 7]

Max by row
[7 5 6]

 

Câu 7: Tìm các phần tử trùng lặp (lần xuất hiện thứ 2 trở đi) trong mảng đã cho
và đánh dấu chúng là True. Lần đầu tiên xuất hiện là False.

[0 3 3 1 2 0 2 0]
[False False  True False False  True  True  True]

 

Câu 8: Trừ theo dòng mảng 2 chiều arr2d bằng mảng 1 chiều arr1d

arr2d
[[3 3 3]
 [4 4 4]
 [5 5 5]]

arr1d
[1 1 1]

output
[[2 2 2]
 [3 3 3]
 [4 4 4]]

 

Câu 9: Bỏ tất cả các giá trị nan từ một mảng numpy

 input: [1.  2.  3. nan  5.  6.  7. nan]
output: [1., 2., 3., 5., 6., 7.]

 

Câu 10: Lấy tất cả vị trí nơi các phần tử có giá trị khác nhau

input
arr1: [3 4 5 6 7 8]
arr2: [3 3 6 6 7 7]

output
[1, 2, 5]