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.
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)Được hỗ trợ bởi
.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 đó.
state stop_date stop_time driver_gender driver_race
0RI2005-01-0412:55M White
1RI2005-01-2323:15M White
2RI2005-02-1704:15M White
3RI2005-02-2017:15M White
4RI2005-02-2401:20F White
Được hỗ trợ bởi
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)Được hỗ trợ bởi
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 DataFrameprint(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)Được hỗ trợ bởi
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()MethodHã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_namecó số giá trị thiếu bằng số hàng, nghĩa là nó chỉ chứa giá trị thiếu.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:
.dropna()MethodPhươ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 đó.
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_datehoặcstop_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.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_namevì nó chỉ chứa giá trị thiếu, và bạn sẽ xóa cộtstatevì 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..shapecủa DataFrame để biết số hàng và số cột.county_namevàstatebằ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..shapeđể xác nhận hiện đã giảm hai cột.Khi bạn chạy đoạn mã trên, nó cho ra kết quả sau:
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.