Cách xóa các giá trị nan trong python

Để xóa NaN khỏi danh sách bằng Python, cách dễ nhất là sử dụng hàm isnan[] từ mô-đun toán học Python và khả năng hiểu danh sách

from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = [x for x in list_with_nan if isnan[x] == False]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]

Bạn cũng có thể sử dụng hàm filter[] của Python

from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = list[filter[lambda x: isnan[x] == False, list_with_nan]]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]

Mô-đun numpy của Python cũng cung cấp hàm isnan[] mà chúng ta có thể sử dụng để kiểm tra xem một giá trị có phải là NaN hay không

import numpy as np
from numpy import nan

list_with_nan = [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = [x for x in list_with_nan if np.isnan[x] == False]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]

Khi làm việc với danh sách, có thể dễ dàng lọc và loại bỏ các giá trị không mong muốn khỏi danh sách của bạn có thể hữu ích

Một tình huống mà bạn có thể muốn xóa các giá trị khỏi danh sách là nếu bạn có nhiều NaN trong danh sách của mình

Chúng ta có thể dễ dàng xóa tất cả NaN khỏi danh sách bằng Python với khả năng hiểu danh sách. Khả năng hiểu danh sách cung cấp cú pháp ngắn hơn khi bạn muốn tạo danh sách mới dựa trên các giá trị của danh sách hiện có

Chúng ta có thể sử dụng khả năng hiểu danh sách để loại bỏ tất cả các trường hợp của một giá trị trong danh sách một cách dễ dàng

Để kiểm tra xem một mục trong danh sách có phải là NaN hay không, chúng ta có thể sử dụng hàm isnan[] từ mô-đun toán học

Dưới đây là mã cho phép bạn xóa tất cả NaN khỏi danh sách bằng cách sử dụng khả năng hiểu danh sách trong Python

from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = [x for x in list_with_nan if isnan[x] == False]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]

Xóa NaN khỏi Danh sách bằng Hàm filter[] của Python

Hàm filter[] của Python là một hàm tích hợp sẵn cho phép bạn xử lý một mục có thể lặp lại và trích xuất các mục thỏa mãn một điều kiện nhất định

Chúng ta có thể sử dụng hàm filter[] của Python để trích xuất tất cả các mục trong danh sách các số không phải là NaN

Dưới đây là một số mã ví dụ chỉ cho bạn cách xóa NaN khỏi danh sách bằng hàm filter[]

from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = list[filter[lambda x: isnan[x] == False, list_with_nan]]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]

Sử dụng Mô-đun numpy Python để xóa NaN khỏi danh sách

Chúng ta cũng có thể xóa các giá trị NaN bằng cách sử dụng mô-đun Python numpy. Mô-đun numpy cung cấp hàm isnan[] mà chúng ta có thể sử dụng để kiểm tra xem giá trị có phải là NaN không

Chúng ta có thể sử dụng hàm numpy isnan[] kết hợp với khả năng hiểu danh sách để xóa các giá trị NaN khỏi danh sách

Ví dụ bên dưới gần giống với ví dụ đầu tiên ngoại trừ việc chúng tôi hiện đang sử dụng mô-đun numpy

import numpy as np
from numpy import nan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = [x for x in list_with_nan if np.isnan[x] == False]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]

Xóa NaN khỏi DataFrame hoặc Sê-ri gấu trúc bằng Python

Nếu bạn đang làm việc với mô-đun pandas trong Python, bạn có thể sử dụng hàm pandas dropna[] của Python để xóa các giá trị NaN khỏi Khung dữ liệu hoặc cột pandas

Để thả các hàng hoặc cột có giá trị NaN, bạn có thể sử dụng hàm dropna[] theo các cách sau

df = df.dropna[] #drops rows with missing values

df["Column 1"] = df["Column 1"].dropna[] #drops rows with missing values in column "Column 1"

df = df.dropna[axis=1] #drop columns with missing values

Xóa mọi giá trị khỏi danh sách bằng Python

Theo một cách rất giống, chúng ta có thể xóa bất kỳ giá trị nào khỏi danh sách bằng cách sử dụng khả năng hiểu danh sách

Ví dụ: nếu chúng tôi muốn xóa tất cả các chuỗi trống khỏi danh sách trong Python, chúng tôi có thể thực hiện điều đó dễ dàng với khả năng hiểu danh sách trong Python bằng cách điều chỉnh mã ở trên

list_of_strings = [“Đây”,””,”là”,”a”,”danh sách”,””,”với”,”trống”,””,”chuỗi”,”. ”]
list_without_empty_strings = [x cho x trong list_of_strings nếu x. = “”]

in [danh sách không có_empty_strings]

#Đầu ra.
['Đây', 'là', 'a', 'danh sách', 'với', 'trống', 'chuỗi', '. ’]

Một ví dụ khác là nếu muốn xóa tất cả các số không khỏi danh sách, chúng ta có thể thực hiện điều đó một cách dễ dàng với khả năng hiểu danh sách trong Python bằng cách điều chỉnh mã ở trên

Hướng dẫn này sẽ xem xét các phương pháp khác nhau để tìm và xóa các giá trị

[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 khỏi danh sách trong Python. Giá trị
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 trong lập trình có nghĩa là
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
2, tức là giá trị của biến không phải là số

Nếu một giá trị

[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 xuất hiện trong một mảng hoặc một danh sách, nó có thể tạo ra các vấn đề và lỗi trong phép tính. Chúng tôi cũng sẽ xem xét các cách để loại bỏ các giá trị chuỗi
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
4 khỏi danh sách trong hướng dẫn này. Chúng tôi có thể xóa các giá trị
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 hoặc
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
6 khỏi danh sách bằng cách sử dụng các phương pháp sau

Xóa
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 khỏi danh sách trong Python bằng phương pháp
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
8

Phương thức

[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
9 lấy một số
from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = list[filter[lambda x: isnan[x] == False, list_with_nan]]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]
70 làm đầu vào và trả về
from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = list[filter[lambda x: isnan[x] == False, list_with_nan]]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]
71 nếu
from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = list[filter[lambda x: isnan[x] == False, list_with_nan]]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]
70 là giá trị
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 và trả về
from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = list[filter[lambda x: isnan[x] == False, list_with_nan]]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]
74 nếu ngược lại. Do đó, chúng ta có thể kiểm tra xem có giá trị
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 trong danh sách hoặc mảng số hay không bằng cách sử dụng phương thức
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
8

Chúng ta cần phương thức

[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
8 vì
from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = list[filter[lambda x: isnan[x] == False, list_with_nan]]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]
78 trả về
from math import nan, isnan

list_with_nan= [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = list[filter[lambda x: isnan[x] == False, list_with_nan]]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]
74 trong Python hoặc chúng ta có thể nói rằng hai giá trị
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 không bằng nhau trong Python. Mã ví dụ dưới đây trình bày cách sử dụng phương thức
import numpy as np
from numpy import nan

list_with_nan = [0, 1, 3, nan, nan, 4, 9, nan]
list_without_nan = [x for x in list_with_nan if np.isnan[x] == False]

print[list_without_nan]

#Output:
[0, 1, 3, 4, 9]
89 và giá trị
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
6 để xóa các giá trị
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
0 và
[1, 2, nan, 8, 6, 4, nan]
[1, 2, 8, 6, 4]
6 khỏi danh sách trong Python

Chủ Đề