Thêm và Xóa phần tử trong Numpy

Thêm xóa phần tử trong Numpy

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()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 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

Bài viết liên quan
Focus Cell trong Excel – Tính năng giúp tăng khả năng điều hướng

Đã bao giờ bạn lạc trôi giữa hàng trăm dòng, hàng ngàn cột trên Excel… mà không biết mình đang ở đâu? Nếu “mất phương hướng” là cảm giác quen thuộc

Xem thêm
Trí tuệ nhân tạo AI là gì? Khái niệm, phân loại và vai trò trong cuộc sống

Trong thời đại cách mạng công nghiệp 4.0, trí tuệ nhân tạo AI đang trở thành một phần không thể thiếu trong nhiều lĩnh vực của cuộc sống. Từ các trợ

Xem thêm
Truy vấn lồng (Subquery) trong SQL – Bí kíp giúp xử lý và truy xuất dữ liệu với mức độ phức tạp cao

Truy vấn lồng (Subquery) là một trong những công cụ hiệu quả trong SQL, giúp xử lý và truy xuất dữ liệu với mức độ phức tạp cao hơn so với

Xem thêm
Hàm TRIMRANGE() – Hàm xóa giá trị trống “đỉnh” hơn cả TRIM.

Như bạn đã biết hàm TRIM() trong Excel giúp loại bỏ các ký tự trống (khoảng trắng). Tương tự vậy hàm TRIMRANGE() được sử dụng để xóa các giá trị trống khỏi một phạm vi

Xem thêm