AI Cho Mọi Người

AI Cho Mọi Người

Học numpy qua ví dụ

 

 

Ở bài này, chúng ta sẽ học numpy qua cách ví dụ. Để học bài này hiệu quả, các bạn cần thực hiện các bước sau cho mỗi ví dụ
1) Đọc hiểu yêu cầu của vị dụ
2) Mỗi ví dụ sẽ cung cấp một số link để các bạn đọc những hàm cần thiết để hoàn thành yêu cầu của ví dụ
3) Sau khi xong bước (1) và (2), các bạn tự cài đặt để giải quyết yêu cầu. Trong trường hợp đã bỏ nhiều thời gian suy nghĩ mà vẫn chưa làm được thì các bạn có thể xem bài giải tham khảo.

Chú ý là các bạn không nên đi tìm lời giải trên mạng, vì bài học này nhằm nâng cao khả năng tư duy, giải quyết vấn đề với các công cụ cho trước. Các bạn có thể tìm hiểu các hàm trong numpy để giải quyết yêu cầu của ví dụ.

Câu 1: Tạo mảng numpy 1 chiều từ 0 đến 9

Các bạn đọc hiểu các link sau
https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html

Bài giải tham khảo

Câu 2: Tạo một mảng boolean 2×3 với tất cả giá trị là True

Các bạn đọc hiểu các link sau
https://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html
https://docs.scipy.org/doc/numpy/reference/generated/numpy.full.html

 

Bài giải tham khảo

 

Câu 3: Lấy những phần tử mà thoả mãn một điều kiện cho trước của mảng một chiều. Cho mảng một chiều có giá trị từ 0 đến 9,

a) Tìm phần tử có giá trị lẻ

b) Tìm phần tử có giá trị chẵn

 

Bài giải tham khảo

 

Câu 4: Thay thế phần tử thoả mãn điều kiện cho trước bằng 1 một giá khác. Cho mảng một chiều có giá trị từ 0 đến 9, thay thế phần tử có giá trị lẻ bằng 10.

 

Bài giải tham khảo

 

Câu 5: Thay thế phần tử thoả mãn điều kiện cho trước bằng 1 một giá khác nhưng không thay đổi mảng ban đầu. Cho mảng một chiều có giá trị từ 0 đến 9, thay thế tất cả số chẵn bằng giá trị 11 nhưng mảng ban đầu không thay đổi.

Các bạn đọc hiểu link sau
https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.where.html

 

Bài giải tham khảo

 

Câu 6: Cho mảng một chiều có giá trị từ 0 đến 9, chuyển mảng 1 chiều này thành mảng 2 chiều có 2 hàng (dòng).

Các bạn đọc hiểu link sau
https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html

 

Bài giải tham khảo

 

Câu 7: Cho hai mảng sau

arr1 = np.arange(10).reshape(2,-1)
arr2 = np.arange(10,0,-1).reshape(2,-1)

hãy xếp chồng 2 mảng theo chiều dọc.

Các bạn đọc hiểu các link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.concatenate.html

https://docs.scipy.org/doc/numpy/reference/generated/numpy.vstack.html

https://docs.scipy.org/doc/numpy/reference/generated/numpy.r_.html

 

Bài giải tham khảo

Câu 8: Cho hai mảng sau

arr1 = np.arange(10).reshape(2,-1)
arr2 = np.arange(10,0,-1).reshape(2,-1)

hãy xếp chồng 2 mảng theo chiều ngang.

 

Các bạn đọc hiểu các link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.concatenate.html

https://docs.scipy.org/doc/numpy/reference/generated/numpy.hstack.html

https://docs.scipy.org/doc/numpy/reference/generated/numpy.c_.html

 

Bài giải tham khảo

 

Câu 9: Tạo mảng với các phần tự được lặp lại từ một mảng khác. Cho mảng sau

arr = np.array([1,2,3])

a) Tạo mảng mới, lặp lại mỗi phần tử của arr 2 lần

b) Tạo mảng mới, lặp lại mảng arr 2 lần

 

Các bạn đọc hiểu các link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.repeat.html

https://docs.scipy.org/doc/numpy/reference/generated/numpy.tile.html

 

Bài giải tham khảo

 

Câu 10: Cho hai mảng sau

arr1 = np.array([1, 2, 3, 4, 5]) 
arr2 = np.array([3, 4, 5, 6, 7])

lấy phần tử chung của 2 mảng arr1arr2.

 

Các bạn đọc hiểu link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.intersect1d.html

 

Bài giải tham khảo

 

Câu 11: Cho hai mảng sau

arr1 = np.array([2, 3, 4, 5])
arr2 = np.array([3, 5, 7, 9])

Từ mảng arr1 xoá tất cả các phần tử mà có trong mảng arr2

 

Các bạn đọc hiểu link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.setdiff1d.html

 

Bài giải tham khảo

 

Câu 12: Cho hai mảng sau

arr1 = np.array([3, 4, 5, 6, 7, 8])
arr2 = np.array([3, 3, 6, 6, 7, 7])

Lấy tất cả vị trí mà các phần tử có giá trị giống nhau.

 

Các bạn đọc hiểu link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html

 

Bài giải tham khảo

 

Câu 13: Cho mảng sau

arr = np.array([1, 7, 3, 9, 4, 8])

Tìm tất cả vị trí và giá trị của các phần tử có giá trị trong phạm vi cho trước.

 

Các bạn đọc hiểu link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html

 

Bài giải tham khảo

 

Câu 14: Cho hai mảng sau

arr1 = np.array([4, 6, 2, 8, 6, 9])
arr2 = np.array([1, 5, 4, 9, 8, 5])

Tìm giá trị max giữa 2 mảng arr1arr2.

 

Các bạn đọc hiểu các link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.vectorize.html

https://docs.scipy.org/doc/numpy/reference/generated/numpy.maximum.html

https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html

 

Bài giải tham khảo

 

Câu 15: Cho mảng sau

arr = np.arange(12).reshape(4, 3)

Hoán đổi cột 1 và 2 trong mảng arr.

 

Bài giải tham khảo

 

Câu 16: Cho mảng sau

arr = np.arange(12).reshape(4, 3)

Hoán đổi dòng 1 và 2 trong mảng arr.

 

Bài giải tham khảo

 

Câu 17: Cho mảng sau

arr = np.arange(12).reshape(4, 3)

Đảo ngược các dòng trong mảng arr.

 

Bài giải tham khảo

 

Câu 18: Cho mảng sau

arr = np.arange(12).reshape(4, 3)

Đảo ngược các cột trong mảng arr.

 

Bài giải tham khảo

 

Câu 19: Sinh ra mảng (2×3) với các số ngẫu nhiên trong khoảng (1,9) và các phần tử có kiểu float

 

Các bạn đọc hiểu  link sau

https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.random.uniform.html

 

Bài giải tham khảo

 

Câu 20: In mảng 2 chiều kiểu float chỉ với 2 số lẻ

 

Các bạn đọc hiểu link sau

https://docs.scipy.org/doc/numpy/reference/generated/numpy.set_printoptions.html

 

Bài giải tham khảo