NumPy là thư viện Python phổ biến dùng để xử lý dữ liệu dạng mảng nhiều chiều và thực hiện tính toán khoa học. Việc thêm hoặc xóa phần tử trong mảng là thao tác thường gặp, và NumPy cung cấp các hàm giúp thực hiện điều này dễ dàng mà không làm thay đổi dữ liệu gốc. Thành thạo các thao tác này giúp quá trình làm sạch và xử lý dữ liệu trở nên hiệu quả hơn.
UniTrain sẽ giúp bạn làm quen với cách thêm, chèn và xóa phần tử trong mảng NumPy bằng ba hàm: numpy.append(), numpy.delete() và numpy.insert(). Bạn sẽ được học cách sử dụng chúng, hiểu các tham số đầu vào, kết quả trả về và cách áp dụng trong các tình huống thực tế.
Numpy.append()
Cú pháp:
numpy.append(array, values, axis=None)
- array: Mảng mà bạn muốn thêm giá trị vào.
- values: Các giá trị bạn muốn thêm vào mảng.
- axis (tùy chọn): Trục mà các giá trị sẽ được thêm vào. Nếu không chỉ định, mảng sẽ được làm phẳng (flatten) trước khi thêm.
import numpy as np arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) #Thêm mảng 2 vào sau mảng 1 arr_appended = np.append(arr1, arr2) print(arr_appended)
Kết quả sau khi thêm phần tử vào cuối mảng:
[1 2 3 4 5 6]
Thêm một giá trị vào cuối mảng:
arr_appended = np.append(arr1, 100) print(arr_appended) Kết quả: # [ 1 2 3 100]
Chúng ta cũng có thể thêm các mảng theo một chiều nhất định. Ví dụ, thêm các hàng vào mảng:
arr1 = np.array([[1, 2, 3], [4, 5, 6]]) # Thêm hàng mới arr2 = np.array([[7, 8, 9]]) arr_appended = np.append(arr1, arr2, axis=0) print(arr_appended) Kết quả: [[1 2 3] [4 5 6] [7 8 9]]
Thêm cột vào mảng bằng cách chỉ định axis=1:
arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[5], [6]]) arr_appended = np.append(arr1, arr2, axis=1) print(arr_appended) Kết quả: [[1 2 5 6] [3 4 5 6]]
Numpy.delete()
Hàm numpy.delete được dùng để loại bỏ các phần tử trong mảng theo một trục cụ thể. Kết quả trả về là một mảng mới, trong đó các phần tử đã bị loại bỏ. Cú pháp của hàm như sau:
numpy.delete(arr, obj, axis=None)
- arr: Mảng ban đầu.
- obj: Chỉ số hoặc đoạn (slice) xác định các phần tử cần xóa.
- axis: Trục mà bạn muốn xóa các phần tử theo đó. Nếu không có, mảng sẽ được chuyển thành một mảng 1 chiều trước khi xóa.
import numpy as np arr = np.array([1, 2, 3, 4, 5]) # Xóa phần tử tại index=1 np.delete(arr, 1) print(arr) Kết quả [1 3 4 5]
Chúng ta cũng có thể xóa dọc theo một trục như dòng hoặc cột:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) #Xóa dòng thứ 2 (index 1) new_arr_rows = np.delete(arr, 1, axis=0) print(new_arr_rows) Kết quả hiển thị: [[1 2 3] [7 8 9]] # Xóa cột đầu tiên new_arr_cols = np.delete(arr, 0, axis=1) print(new_arr_cols) Kết quả [[2 3] [5 6] [8 9]]
Numpy.insert()
Hàm numpy.insert() được sử dụng để chèn các phần tử vào một mảng theo một trục được chỉ định. Cú pháp của nó như sau:
numpy.insert(arr, obj, values, axis=None)
-
arr: Đây là mảng mà bạn muốn chèn thêm phần tử.
-
obj: Vị trí chỉ định nơi bạn sẽ chèn giá trị mới vào, có thể là một số, một danh sách các chỉ số, hoặc một đoạn cắt (slice).
-
values: Giá trị hoặc tập hợp giá trị sẽ được chèn vào trong mảng gốc. Có thể là một số đơn lẻ hoặc một mảng.
-
axis: Xác định chiều (trục) để thực hiện việc chèn. Nếu bạn không cung cấp tham số này, mảng sẽ được chuyển thành dạng một chiều trước khi thêm giá trị vào.
import numpy as np arr = np.array([1, 2, 4, 5]) # Thêm vào vị trí index=2 np.insert(arr, 2, 3) print(arr) Kết quả # [1 2 3 4 5]
Chúng ta cũng có thể chèn theo một trục như hàng hoặc cột:
arr = np.array([[1, 2], [5, 6]]) # Thêm dòng np.insert(arr, 1, [[3, 4]], axis=0) Kết quả [[1 2] [3 4] [5 6]] #Thêm cột np.insert(arr, 1, [[10], [20]], axis=1) Kết quả [[ 1 10 2] [ 3 20 4] [ 5 20 6]]
Kết luận
Trong hướng dẫn này, chúng ta đã học cách sử dụng các hàm append(), insert(), và delete() để thêm và xóa phần tử trong mảng — những kỹ năng cơ bản giúp làm việc với dữ liệu số để phân tích.
Cùng theo dõi Fanpage UniTrain để khám phá thêm nhiều thông tin hữu ích nhé!
Xem thêm:
Xử lý và trực quan hóa dữ liệu với Python
Nối các mảng dữ liệu trong Python
Bắt đầu với Pandas: Cách tạo Series và DataFrame một cách dễ dàng