4 min read

Làm cách nào để kiểm tra giá trị NaN trong Python?

Trong Python, giá trị NaN là một giá trị đặc biệt cho biết rằng một số không phải là số. Để kiểm tra giá trị NaN ...

Trong Python, giá trị NaN là một giá trị đặc biệt cho biết rằng một số không phải là số. Để kiểm tra giá trị NaN trong Python, bạn có thể sử dụng hàm isinstance(). Hàm isinstance() trả về một giá trị boolean cho biết liệu một đối tượng đã cho có phải là một thể hiện của một lớp cụ thể hay không. Nếu hàm isinstance() trả về True, thì đối tượng là một thể hiện của lớp được chỉ định bởi đối số và nếu hàm isinstance() trả về Sai, thì đối tượng không phải là một thể hiện của lớp được chỉ định bởi đối số

Để sử dụng hàm isinstance() để kiểm tra giá trị NaN trong Python, bạn có thể sử dụng đoạn mã ví dụ sau

nếu isinstance(x, float)

in ("x là một số float")

khác

print("x không phải là số")

Trong Python, làm cách nào để kiểm tra xem một giá trị có phải là NaN không?. Có những cách tiếp cận sử dụng thư viện (pandas, math và numpy) và những cách tiếp cận không sử dụng thư viện

NaN là viết tắt của Not A Number và là một trong những cách phổ biến nhất để biểu thị một giá trị bị thiếu trong dữ liệu. Đó là một giá trị dấu phẩy động duy nhất không thể chuyển đổi sang loại khác ngoài float

Một trong những vấn đề nghiêm trọng nhất trong phân tích dữ liệu là giá trị NaN. Điều quan trọng là phải xử lý NaN để đạt được kết quả mong muốn

Thật đơn giản để xác định vị trí và xử lý NaN trong một mảng, chuỗi hoặc khung dữ liệu. Tuy nhiên, việc xác định giá trị NaN độc lập rất khó. Trong bài viết này, tôi sẽ giới thiệu 5 cách để xử lý NaN trong Python. Ba phương pháp đầu tiên dựa trên các chức năng thư viện tích hợp.

Phương pháp 1. Sử dụng thư viện Pandas

Có thể sử dụng hàm isna() của thư viện pandas để xác định xem một giá trị là null hay NaN. Nếu giá trị là NaN/null, nó sẽ trả về True

import pandas as pd
x = float("nan")
print(f"It's pd.isna : {pd.isna(x)}")
OutputIt's pd.isna : True

Phương pháp 2. Sử dụng thư viện Numpy

Hàm isnan() của thư viện numpy có thể được sử dụng để xác định xem một giá trị là null hay NaN. Nó tương tự như hàm isna() của gấu trúc

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True

Phương pháp 3. Sử dụng thư viện toán học

Thư viện toán học bao gồm các hàm toán học tích hợp. Tất cả các số thực được bao phủ bởi thư viện. có thể được sử dụng khi xử lý số lượng lớn
Để kiểm tra các giá trị null/NaN, thư viện toán học bao gồm hàm isnan()

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True

Phương pháp 4. So sánh với chính nó

Khi tôi mới bắt đầu làm việc cho một công ty CNTT lớn, tôi phải trải qua khóa đào tạo trong tháng đầu tiên. Khi giới thiệu khái niệm về giá trị NaN, giảng viên đã đề cập rằng chúng giống với người ngoài hành tinh chưa biết. Vì những người ngoài hành tinh này liên tục thay đổi diện mạo nên chúng ta không thể so sánh giá trị NaN với chính nó
Cách phổ biến nhất để phát hiện các giá trị NaN là xem biến có bằng chính nó không. Nếu không, nó phải là một giá trị NaN

def isNaN(num):
return num!= num
x=float("nan")
isNaN(x)
OutputTrue

Phương pháp 5. kiểm tra phạm vi

Phạm vi là một thuộc tính khác của NaN có thể được sử dụng để kiểm tra NaN. Tất cả các giá trị dấu phẩy động nằm giữa âm vô cực và vô cực

vô cực < số bất kỳ < vô cực

Tuy nhiên, các giá trị NaN nằm ngoài phạm vi này. Kết quả là, nếu giá trị không nằm trong phạm vi từ âm vô cực đến vô cực, thì đó là NaN

Điều này có thể được thực hiện như sau

def isNaN(num):
if float('-inf') < float(num) < float('inf'):
return False
else:
return True
x=float("nan")
isNaN(x)
OutputTrue

Tôi hy vọng bạn thấy bài viết trước hữu ích. Tôi chắc rằng có nhiều kỹ thuật khác để kiểm tra các giá trị NaN dựa trên các logic khác nhau. Vui lòng chia sẻ bất kỳ phương pháp nào khác mà bạn đã khám phá để kiểm tra các giá trị NaN/Null

Xin chào, hôm nay chúng ta sẽ thảo luận về NaN. Ngoài ra, chúng ta sẽ học cách sử dụng Python để xác định xem một chuỗi đã cho có phải là NaN hay không. Bạn có thể tự hỏi NaN này là gì. Vì vậy, hãy để tôi nói với bạn rằng Nan là viết tắt của Not a Number. Nó là một kiểu dữ liệu số đại diện cho một giá trị không thể đoán trước. Ví dụ: căn bậc hai của một số âm là một NaN, cũng như phép trừ một số vô hạn từ một số vô hạn khác. Trong một hệ thống máy tính, NaN đại diện cho một giá trị không xác định

Trong Python, làm cách nào để kiểm tra xem một chuỗi có phải là NaN không?

Chúng ta có thể xác định xem một chuỗi có phải là NaN hay không bằng cách sử dụng thuộc tính của đối tượng NaN mà một chuỗi NaN. = NaN

Hãy tạo một hàm boolean gọi là isNaN() trả về true nếu đối số đã cho là NaN và ngược lại là false

def isNaN(string):
    return string != string
print(isNaN("hello"))
print(isNaN(np.nan))

Đoạn mã sau sẽ tạo ra kết quả sau

False
True

Chúng ta cũng có thể chuyển đổi một giá trị thành float để xác định xem đó có phải là NaN hay không. Chúng tôi nhập mô-đun toán học và sử dụng toán học cho những. phương thức isnan(). Xem đoạn mã dưới đây

Do đó, mã để xác định xem giá trị NaN có tồn tại trong cột'set_of_numbers' như sau

import pandas as pd
import numpy as np

data = {'set_of_numbers': [1,2,3,4,5,np.nan,6,7,np.nan,8,9,10,np.nan]}
df = pd.DataFrame(data)

check_for_nan = df['set_of_numbers'].isnull().values.any()
print (check_for_nan)

Khi bạn chạy mã, bạn sẽ nhận được "True", xác nhận sự hiện diện của các giá trị NaN trong cột DataFrame

________số 8

Ngoài ra, nếu bạn muốn xem phân tích thực tế của các trường hợp tồn tại giá trị NaN, bạn có thể xóa. giá trị. any() từ mã. Vì vậy, cú pháp hoàn chỉnh để có được bảng phân tích sẽ như sau

import pandas as pd
import numpy as np

data = {'set_of_numbers': [1,2,3,4,5,np.nan,6,7,np.nan,8,9,10,np.nan]}
df = pd.DataFrame(data)

check_for_nan = df['set_of_numbers'].isnull()
print (check_for_nan)

Bây giờ bạn sẽ thấy ba trường hợp giá trị NaN

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
00

Đây là một phương pháp khác để lấy tất cả các trường hợp tồn tại giá trị NaN

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
01

Bây giờ, một cột mới (được gọi là 'value_is_NaN') sẽ xuất hiện, cho biết tất cả các trường hợp tồn tại giá trị NaN

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
02

(2) Đếm số lượng NaN trong một cột DataFrame

Bạn có thể sử dụng cú pháp này để đếm các giá trị NaN trong một cột DataFrame

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
03

Cú pháp cho ví dụ của chúng tôi là như sau

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
04

Số lượng ba giá trị NaN sau đó sẽ được trả lại cho bạn

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
05

Và đây là một phương pháp khác để xác định số

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
06

Bạn sẽ nhận được số lượng ba trường hợp giá trị NaN, giống như trước đây

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
07

(3) Tìm kiếm NaN trên toàn bộ Khung dữ liệu

Bây giờ chúng ta hãy thêm một cột thứ hai vào DataFrame ban đầu. Một bộ số khác có giá trị NaN sẽ được đưa vào cột này

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
08

Khi bạn chạy mã, bạn sẽ thấy 8 trường hợp giá trị NaN trong DataFrame

import numpy as np
x = float("nan")
print(f"It's np.isnan : {np.isnan(x)}")
OutputIt's np.isnan : True
09

Sau đó, bạn có thể sử dụng cú pháp này để kiểm tra sự hiện diện của các giá trị NaN trên toàn bộ Khung dữ liệu

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True
00

ví dụ của chúng tôi

import math
x = float("nan")
print(f"It's math.isnan : {math.isnan(x)}")
OutputIt's math.isnan : True
01

Khi bạn chạy mã, bạn sẽ nhận được giá trị 'True', giá trị này xác nhận sự hiện diện của các giá trị NaN trong DataFrame

Làm cách nào để tính giá trị của NaN?

NaN là một số không phải là số hợp lệ trong JavaScript. Số. Nếu giá trị là NaN, phương thức isNaN() trả về true. và kiểu dữ liệu là Số.

Làm cách nào để kiểm tra giá trị NaN trong Pandas?

Sau đây là các phương pháp kiểm tra NaN trong Pandas DataFrame. .
Kiểm tra NaN với isnull(). giá trị. phương thức bất kỳ ()
Đếm NaN Sử dụng isnull(). phương pháp tổng ()
Kiểm tra NaN Sử dụng isnull(). giá trị. phương thức bất kỳ ()
Đếm NaN Sử dụng isnull(). Tổng(). phương pháp tổng ()

Làm cách nào để bạn xác định xem một biến có giá trị NaN hay không?

1. Phương thức isNaN() . Hàm isNaN() có thể được sử dụng để xác định xem một số có phải là NaN hay không. Đó là một hàm boolean trả về true nếu một số là NaN và false nếu ngược lại.

Làm cách nào để xác định xem một chuỗi có giá trị NaN không?

Chúng ta có thể xác định xem một chuỗi có phải là NaN hay không bằng cách Sử dụng thuộc tính của đối tượng NaN mà một NaN. = NaN . Hãy tạo một hàm boolean gọi là isNaN() trả về true nếu đối số đã cho là NaN và ngược lại là false. Chúng ta cũng có thể chuyển đổi một giá trị thành float để xác định xem đó có phải là NaN hay không.

John Conner
John Conner
John Conner has written about blogger for more than 5 years and for congnghe123 since 2017

Member discussion

       

Related Posts