Khi bạn nhận được tập dữ liệu, có thể có một số giá trị NaN. Pandas Dropna là một phương pháp hữu ích cho phép bạn loại bỏ các giá trị NaN của khung dữ liệu. Trong toàn bộ bài viết này, tôi sẽ chỉ cho bạn các ví dụ khác nhau về cách xử lý các giá trị NaN bằng phương thức drona[]
Cú pháp cho phương thức Pandas Dropna[]
your_dataframe.dropna[axis=0, how='any', thresh=None, subset=None, inplace=False]
giải thích thông số
axis : Requires two values 0 and 1. how: any or all value. If you use any, then all NaN rows or columns will be removed. thresh: Require that many non-NA values. subset : Labels along other axis to consider. inplace : Default is False. If it it set to True, then do operation inplace
Các bước để xóa NaN khỏi Dataframe bằng pandas dropna
Bước 1. Nhập tất cả các thư viện cần thiết
Trong các ví dụ của chúng tôi, Chúng tôi đang sử dụng NumPy để đặt các giá trị NaN và gấu trúc để tạo khung dữ liệu. Hãy nhập chúng
import numpy as np
import pandas as pd
Bước 2. Tạo một khung dữ liệu Pandas
Trong bước này, trước tiên tôi sẽ tạo một khung dữ liệu gấu trúc với các giá trị NaN. Có một phương pháp để tạo các giá trị NaN. Và đó là numpy. nan. Thực thi các dòng mã được cung cấp bên dưới để tạo Khung dữ liệu Pandas
Thảo luận về nhiều cách để loại bỏ các hàng từ DataFrames của gấu trúc có giá trị rỗng trong các cột nhất định
Giới thiệu
Trong hướng dẫn ngắn ngày hôm nay, chúng ta sẽ khám phá một số cách để loại bỏ các hàng khỏi DataFrames gấu trúc có giá trị null trong [các] cột nhất định. Cụ thể, chúng ta sẽ thảo luận về cách thả hàng với
- ít nhất một cột là
0import numpy as np import pandas as pd
- tất cả các giá trị cột là
0import numpy as np import pandas as pd
- [các] cột cụ thể có giá trị null
- ít nhất N cột có giá trị khác null
Trước tiên, hãy tạo một DataFrame mẫu mà chúng tôi sẽ tham khảo để minh họa một số khái niệm trong suốt bài viết này
import pandas as pddf = pd.DataFrame[{
'colA':[None, False, False, True],
'colB': [None, 2, None, 4],
'colC': [None, 'b', 'c', 'd'],
'colD': [None, 2.0, 3.0, 4.0],
}]print[df]
colA colB colC colD
0 None NaN None NaN
1 False 2.0 b 2.0
2 False NaN c 3.0
3 True 4.0 d 4.0
Bỏ tất cả các hàng có ít nhất một giá trị null
Khi nói đến việc loại bỏ các giá trị null trong DataFrames của gấu trúc, phương pháp
import numpy as np
import pandas as pd
2 là bạn của bạn. Khi bạn gọi import numpy as np
import pandas as pd
3 trên toàn bộ DataFrame mà không chỉ định bất kỳ đối số nào [tôi. e. sử dụng hành vi mặc định] thì phương thức sẽ loại bỏ tất cả các hàng có ít nhất một giá trị bị thiếudf = df.dropna[]print[df]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
Xoá hàng chỉ thiếu giá trị
Bây giờ nếu bạn muốn loại bỏ tất cả các hàng có giá trị cột đều là null, thì bạn cần chỉ định đối số
df = df.dropna[]print[df]0
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
df = df.dropna[how='all']print[df]
colA colB colC colD
1 False 2.0 b 2.0
2 False NaN c 3.0
3 True 4.0 d 4.0
Thả các hàng có giá trị cột cụ thể là null
Nếu bạn chỉ muốn tính đến các cột cụ thể, thì bạn cần chỉ định đối số
df = df.dropna[]print[df]1
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
Chẳng hạn, giả sử chúng ta muốn loại bỏ tất cả các hàng có giá trị bị thiếu trong bất kỳ cột nào trong số các cột
df = df.dropna[]print[df]2 hoặc
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
df = df.dropna[]print[df]3
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
axis : Requires two values 0 and 1. how: any or all value. If you use any, then all NaN rows or columns will be removed. thresh: Require that many non-NA values. subset : Labels along other axis to consider. inplace : Default is False. If it it set to True, then do operation inplace0
Ngoài ra, bạn thậm chí có thể bỏ tất cả các hàng nếu chúng thiếu giá trị trong cả
df = df.dropna[]print[df]2 và
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
df = df.dropna[]print[df]5
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
axis : Requires two values 0 and 1. how: any or all value. If you use any, then all NaN rows or columns will be removed. thresh: Require that many non-NA values. subset : Labels along other axis to consider. inplace : Default is False. If it it set to True, then do operation inplace3
Xoá các hàng có ít nhất N giá trị không bị thiếu
Cuối cùng, nếu bạn cần loại bỏ tất cả các hàng có ít nhất N cột có giá trị không bị thiếu, thì bạn cần chỉ định đối số
df = df.dropna[]print[df]6 chỉ định số lượng giá trị không bị thiếu sẽ có mặt cho mỗi hàng để không
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
Chẳng hạn, nếu bạn muốn loại bỏ tất cả các cột có nhiều hơn một giá trị null, thì bạn cần chỉ định
df = df.dropna[]print[df]7 thành
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
df = df.dropna[]print[df]8
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
axis : Requires two values 0 and 1. how: any or all value. If you use any, then all NaN rows or columns will be removed. thresh: Require that many non-NA values. subset : Labels along other axis to consider. inplace : Default is False. If it it set to True, then do operation inplace7
Suy nghĩ cuối cùng
Trong hướng dẫn ngắn ngày hôm nay, chúng ta đã thảo luận về 4 cách để loại bỏ các hàng có giá trị bị thiếu trong DataFrames của gấu trúc
Lưu ý rằng có thể có nhiều phương pháp khác nhau [e. g.
df = df.dropna[]print[df]9] mà bạn có thể sử dụng để loại bỏ các hàng [và/hoặc cột] khác với
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
df = df.dropna[how='all']print[df]0, phương pháp thứ hai đã được xây dựng rõ ràng cho gấu trúc và có hiệu suất được cải thiện khi so sánh với các phương pháp chung chung hơn
colA colB colC colD
1 False 2.0 b 2.0
2 False NaN c 3.0
3 True 4.0 d 4.0
Trở thành thành viên và đọc mọi câu chuyện trên Medium. Phí thành viên của bạn hỗ trợ trực tiếp cho tôi và các nhà văn khác mà bạn đọc