Làm thế nào để bạn bỏ một giá trị nan trong python?

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

Ảnh của Reed Mok trên Bapt

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à
    import numpy as np
    import pandas as pd
    0
  • tất cả các giá trị cột là
    import numpy as np
    import pandas as pd
    0
  • [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ếu

df = 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]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
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]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
1

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]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
2 hoặc
df = df.dropna[]print[df]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
3

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
0

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]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
2 và
df = df.dropna[]print[df]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
5

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
3

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]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
6 chỉ định số lượng giá trị không bị thiếu sẽ có mặt cho mỗi hàng để không

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]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
7 thành
df = df.dropna[]print[df]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
8

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
7

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]
colA colB colC colD
1 False 2.0 b 2.0
3 True 4.0 d 4.0
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
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
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

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

Chủ Đề