Làm cách nào để xóa các phần tử trống trong python?

Điều này thường không sao, vì tập dữ liệu có thể rất lớn và việc xóa một vài hàng sẽ không ảnh hưởng lớn đến kết quả

Ví dụ

Trả về Khung dữ liệu mới không có ô trống

nhập gấu trúc dưới dạng pd

df = pd. read_csv['dữ liệu. csv']

new_df = df. dropna[]

in [new_df. to_string[]]

Tự mình thử »

Ghi chú. Theo mặc định, phương thức dropna[] trả về một DataFrame mới và sẽ không thay đổi khung gốc

Nếu bạn muốn thay đổi DataFrame ban đầu, hãy sử dụng đối số inplace = True

Ví dụ

Xóa tất cả các hàng có giá trị NULL

nhập gấu trúc dưới dạng pd

df = pd. read_csv['dữ liệu. csv']

df. dropna [tại chỗ = True]

in [df. to_string[]]

Tự mình thử »

Ghi chú. Bây giờ, dropna[inplace = True] sẽ KHÔNG trả về Khung dữ liệu mới, nhưng nó sẽ xóa tất cả các hàng chứa giá trị NULL khỏi Khung dữ liệu ban đầu

Thay thế các giá trị rỗng

Một cách khác để xử lý các ô trống là thay vào đó hãy chèn một giá trị mới

Bằng cách này, bạn không phải xóa toàn bộ hàng chỉ vì một số ô trống

Phương thức fillna[] cho phép chúng ta thay thế các ô trống bằng một giá trị

Ví dụ

Thay giá trị NULL bằng số 130

nhập gấu trúc dưới dạng pd

df = pd. read_csv['dữ liệu. csv']

df. fillna[130, tại chỗ = True]

Tự mình thử »

Chỉ thay thế cho các cột được chỉ định

Ví dụ trên thay thế tất cả các ô trống trong toàn bộ Khung dữ liệu

Để chỉ thay thế các giá trị trống cho một cột, hãy chỉ định tên cột cho DataFrame

Ví dụ

Thay thế giá trị NULL trong cột "Calo" bằng số 130

nhập gấu trúc dưới dạng pd

df = pd. read_csv['dữ liệu. csv']

df["Calo"]. fillna[130, tại chỗ = True]

Tự mình thử »

Thay thế bằng Mean, Median hoặc Mode

Một cách phổ biến để thay thế các ô trống, là tính giá trị trung bình, trung bình hoặc chế độ của cột

Pandas sử dụng các phương pháp mean[] median[]mode[] để tính các giá trị tương ứng cho một cột được chỉ định

Câu trả lời ngắn. Bạn có thể xóa tất cả danh sách trống khỏi danh sách bằng cách sử dụng câu lệnh hiểu danh sách

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
0 để lọc danh sách

Làm cách nào để xóa Danh sách trống khỏi Danh sách Danh sách trong Python?


Xem video này trên YouTube

Trong phần sau, bạn sẽ tìm hiểu về hai phương pháp sử dụng khả năng hiểu danh sách và hàm filter[] để xóa tất cả danh sách trống khỏi danh sách danh sách

Nhưng trước đó, hãy tự chơi với mã

Phương pháp 1. Danh sách hiểu

Làm cách nào bạn có thể xóa tất cả danh sách trống khỏi danh sách danh sách?

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
1

và bạn muốn loại bỏ tất cả các danh sách trống để lấy danh sách các danh sách

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
2

Dung dịch. Sử dụng khả năng hiểu danh sách

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
0 để lọc danh sách và xóa tất cả các danh sách trống

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[[x for x in lst if x]]
# [[1, 2, 3], [1, 2], [1, 2, 3, 4]]

Điều kiện nếu

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
4 ước tính thành
lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
5 chỉ khi danh sách
lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
4 trống. Trong tất cả các trường hợp khác, nó đánh giá là
lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
7 và phần tử được đưa vào danh sách mới

Bạn có thể hình dung quy trình thực thi tại đây bằng cách nhấp vào nút “Tiếp theo”

Phương pháp 2. lọc[]

Một cách khác là sử dụng hàm

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
0 để xóa tất cả danh sách trống khỏi danh sách danh sách

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]

Hàm filter[] nhận hai đối số

  • chức năng quyết định bộ lọc để kiểm tra xem từng phần tử có nên được đưa vào lần lặp được lọc hay không [nó trả về giá trị Boolean] và
  • iterable được lọc

Là chức năng quyết định bộ lọc, bạn sử dụng chức năng nhận dạng chỉ chuyển danh sách qua. Tại sao điều này làm việc? . Tất cả các danh sách khác sẽ được đánh giá là

lst = [[1, 2, 3], [1, 2], [], [], [], [1, 2, 3, 4], [], []]
print[list[filter[lambda x: x, lst]]]
7 [và do đó, vượt qua bài kiểm tra lọc]

Những bài viết liên quan

  • Làm cách nào để lọc danh sách trong Python?
  • Lọc so với hiểu danh sách [Tốc độ]
  • Danh sách hiểu
  • danh sách danh sách

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Chris

Trong khi làm việc với tư cách là nhà nghiên cứu về các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Chủ Đề