Chuyển đến nội dung chính

Hướng dẫn Cách Xóa Cột trong Pandas

Tìm hiểu cách xóa cột trong DataFrame của pandas.
· 3 phút đọc

Khám phá cùng AI

Thường thì một DataFrame sẽ có những cột không hữu ích cho phân tích của bạn. Những cột như vậy nên được xóa khỏi DataFrame để bạn dễ tập trung vào các cột còn lại.

Bạn có thể loại bỏ các cột bằng cách chỉ định tên nhãn kèm theo trục tương ứng, hoặc chỉ định trực tiếp tên chỉ mục hay tên cột. Khi dùng multi-index, có thể xóa nhãn ở các mức khác nhau bằng cách chỉ định level.

.drop() Method

Hãy so sánh số lượng giá trị thiếu với kích thước của dataframe. Bạn sẽ nhận thấy cột county_name có số giá trị thiếu bằng số hàng, nghĩa là nó chỉ chứa giá trị thiếu.

ri.isnull().sum()
state                            0
stop_date                        0
stop_time                        0
county_name                  91741
driver_gender                 5205
driver_race                   5202
...
ri.shape
91741, 15

Vì không chứa thông tin hữu ích, cột này có thể được xóa bằng phương thức .drop().

Ngoài việc chỉ định tên cột, bạn cần chỉ định rằng bạn đang xóa theo trục columns và muốn thao tác diễn ra trực tiếp trên đối tượng (in place), giúp tránh phải gán lại như dưới đây:

ri.drop('county_name',
  axis='columns', inplace=True)

.dropna() Method

Phương thức .dropna() là cách tuyệt vời để xóa các hàng dựa trên sự xuất hiện của giá trị thiếu trong hàng đó.

Ví dụ, với bộ dữ liệu phía trên, giả sử các cột stop_date và stop_time là tối quan trọng cho phân tích của chúng ta, vì vậy một hàng sẽ vô dụng nếu thiếu dữ liệu đó.

ri.head()
    state   stop_date    stop_time    driver_gender   driver_race
0      RI  2005-01-04        12:55                M         White
1      RI  2005-01-23        23:15                M         White
2      RI  2005-02-17        04:15                M         White
3      RI  2005-02-20        17:15                M         White
4      RI  2005-02-24        01:20                F         White

Chúng ta có thể yêu cầu pandas xóa tất cả các hàng có giá trị thiếu ở một trong hai cột stop_date hoặc stop_time. Vì ta chỉ định một subset, phương thức .dropna() chỉ xét hai cột này khi quyết định hàng nào cần xóa.

ri.dropna(subset=['stop_date', 'stop_time'], inplace=True)

Ví dụ Tương Tác về Việc Xóa Cột

Trong ví dụ này, bạn sẽ xóa cột county_name vì nó chỉ chứa giá trị thiếu, và bạn sẽ xóa cột state vì tất cả các lần dừng xe đều diễn ra trong một bang (Rhode Island). Do đó, các cột này có thể bị xóa vì không chứa thông tin hữu ích. Số lượng giá trị thiếu ở mỗi cột đã được in ra console cho bạn.

  • Kiểm tra .shape của DataFrame để biết số hàng và số cột.
  • Xóa cả hai cột county_name và state bằng cách truyền tên cột vào phương thức .drop() dưới dạng một danh sách chuỗi.
  • Kiểm tra lại .shape để xác nhận hiện đã giảm hai cột.
# Examine the shape of the DataFrame
print(ri.shape)

# Drop the 'county_name' and 'state' columns
ri.drop(['county_name', 'state'], axis='columns', inplace=True)

# Examine the shape of the DataFrame (again)
print(ri.shape)

Khi bạn chạy đoạn mã trên, nó cho ra kết quả sau:

(91741, 15)
(91741, 13)

Tự bạn thử nhé.

Để tìm hiểu thêm về việc xóa cột trong pandas, vui lòng xem video này từ khóa học của chúng tôi, Introduction to Data Visualization with ggplot2.

Nội dung này được trích từ khóa học Introduction to Data Visualization with ggplot2 của DataCamp do Kevin Markham giảng dạy.

Hãy xem thêm Hướng dẫn Thêm Cột trong Pandas của chúng tôi.

Chủ đề

Liên quan