Xóa cột khỏi pandas dataframe theo tên cột

Hướng dẫn xóa cột khỏi pandas dataframe

Để xóa một cột từ một Pandas DataFrame theo tên cột, bạn có thể sử dụng phương thức .drop() hoặc dùng từ khóa del. Dưới đây là cách thực hiện:

  1. Sử dụng .drop():
python
import pandas as pd
# Tạo DataFrame mẫu
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
# Xóa cột 'B' từ DataFrame
df = df.drop('B', axis=1) # axis=1 cho biết là xóa theo cột, axis=0 là xóa theo hàng
print(df)
  1. Sử dụng del:
python
import pandas as pd
# Tạo DataFrame mẫu
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
# Xóa cột 'B' từ DataFrame
del df['B']
print(df)

Cả hai cách trên đều xóa cột ‘B’ khỏi DataFrame df. Bạn có thể thay ‘B’ bằng tên của cột mà bạn muốn xóa khỏi DataFrame của mình.

Sử dụng inplace=True và tối ưu hiệu suất thay đổi trực tiếp dữ liệu

Trong Pandas, cả hai phương thức .drop()del đều hỗ trợ tham số inplace=True để thực hiện thay đổi trực tiếp trên DataFrame thay vì tạo ra một bản sao mới.

Việc sử dụng inplace=True có thể giúp tối ưu hiệu suất và giảm bộ nhớ được sử dụng, đặc biệt là khi không cần giữ lại Data Frame gốc.

Sử dụng .drop() với inplace=True

import pandas as pd

# Tạo DataFrame mẫu

data = {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]}

df = pd.DataFrame(data)

# Xóa cột ‘B’ từ DataFrame mà không tạo DataFrame mới

df.drop(‘B’, axis=1, inplace=True)

print(df)

Sử Dụng del với inplace=True

import pandas as pd

# Tạo DataFrame mẫu

data = {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]}

df = pd.DataFrame(data)

# Xóa cột ‘B’ từ DataFrame mà không tạo DataFrame mới

del df[‘B’]

print(df)

Quyết định lựa chọn giữa việc sử dụng inplace hay không phụ thuộc vào quyết định cá nhân và yêu cầu cụ thể của công việc bạn đang thực hiện.

Xử lý ngoại lệ và kiểm tra sự tồn tại của cột

Trong quá trình loại bỏ cột từ Pandas DataFrame, việc kiểm tra xem cột muốn xóa có tồn tại trong DataFrame hay không là quan trọng để tránh lỗi.

Sử dụng các câu lệnh điều kiện và xử lý ngoại lệ giúp đảm bảo mã của bạn linh hoạt và an toàn khi làm việc với dữ liệu động.

Kiểm tra tồn tại trước khi xóa bằng .drop()

import pandas as pd

# Tạo DataFrame mẫu

data = {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]}

df = pd.DataFrame(data)

 

# Kiểm tra tồn tại trước khi xóa cột ‘D’

column_name = ‘D’

if column_name in df.columns:

    df.drop(column_name, axis=1, inplace=True)

else:

    print(f”Column ‘{column_name}’ does not exist.”)

print(df)

Kiểm tra tồn tại trước khi xóa bằng del

import pandas as pd

# Tạo DataFrame mẫu

data = {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]}

df = pd.DataFrame(data)

# Kiểm tra tồn tại trước khi xóa cột ‘D’

column_name = ‘D’

if column_name in df.columns:

    del df[column_name]

else:

    print(f”Column ‘{column_name}’ does not exist.”)

print(df)

Câu lệnh này giúp đảm bảo rằng bạn không thực hiện các thao tác không mong muốn trên DataFrame khi cột không tồn tại.

Thực hiện thay đổi đồng thời trên nhiều cột

Khi cần xóa nhiều cột cùng một lúc, Pandas cung cấp các cách tiếp cận linh hoạt để thực hiện thay đổi đồng thời trên nhiều cột của DataFrame. Việc này giúp tối ưu hóa mã và giảm sự lặp lại.

Xóa nhiều cột sử dụng .drop()

import pandas as pd

# Tạo DataFrame mẫu

data = {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9], ‘D’: [10, 11, 12]}

df = pd.DataFrame(data)

# Xóa cột ‘B’ và ‘D’ từ DataFrame

columns_to_drop = [‘B’, ‘D’]

df.drop(columns_to_drop, axis=1, inplace=True)

print(df)

Quá trình xóa cột từ Pandas DataFrame có nhiều cách tiếp cận linh hoạt như sử dụng phương thức .drop(), del, hoặc thậm chí sử dụng inplace=True để thực hiện thay đổi trực tiếp. Mang lại sự linh hoạt và lựa chọn đa dạng khi quản lý và biến đổi dữ liệu trong DataFrame, tùy thuộc vào yêu cầu cụ thể của công việc.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *