Tôi nghĩ rằng điều này có ý nghĩa vì bạn kéo
from matplotlib.pylab import *
0 vào phạm vi gián tiếp thông qua nhập sao.>>> import numpy as np
>>> [0.0,0.0]/0
Traceback [most recent call last]:
File "", line 1, in
[0.0,0.0]/0
TypeError: unsupported operand type[s] for /: 'list' and 'int'
>>> [0.0,0.0]/np.float64[0]
array[[ nan, nan]]
Khi bạn đã làm
from matplotlib.pylab import *
Nó kéo vào
from matplotlib.pylab import *
1:>>> from matplotlib.pylab import *
>>> sum is np.sum
True
>>> [0.0,0.0]/sum[[0.0, 0.0]]
array[[ nan, nan]]
Bạn có thể kiểm tra rằng đối tượng
from matplotlib.pylab import *
2 này [from matplotlib.pylab import *
2 nói chung không phải là duy nhất] nằm trong danh sách thông qua danh tính, nhưng nếu bạn thử nó trong from matplotlib.pylab import *
4, nó dường như kiểm tra thông qua bình đẳng và from matplotlib.pylab import *
5:this from matplotlib.pylab import *
2 object [from matplotlib.pylab import *
2 isn't unique in general] is in a list via identity, but if you try it in an from matplotlib.pylab import *
4 it seems to test via equality, and from matplotlib.pylab import *
5:>>> nan == nan
False
>>> nan == nan, nan is nan
[False, True]
>>> nan in [nan]
True
>>> nan in np.array[[nan]]
False
Bạn có thể sử dụng
from matplotlib.pylab import *
6:>>> np.isnan[[nan, nan]]
array[[ True, True], dtype=bool]
>>> np.isnan[[nan, nan]].any[]
True
Làm thế nào để kiểm tra xem một giá trị duy nhất là NAN trong Python. Có những cách tiếp cận đang sử dụng các thư viện [gấu trúc, toán học và numpy] và không sử dụng thư viện.
NAN là viết tắt của không phải là một số và là một trong những cách phổ biến để thể hiện giá trị bị thiếu trong dữ liệu. Nó là một giá trị điểm nổi đặc biệt và không thể được chuyển đổi sang bất kỳ loại nào khác ngoài Float.
Giá trị NAN là một trong những vấn đề chính trong phân tích dữ liệu. Điều rất cần thiết để đối phó với NAN để có được kết quả mong muốn.
Tìm kiếm và xử lý NAN trong một mảng, loạt hoặc dataFrame rất dễ dàng. Tuy nhiên, việc xác định một giá trị NAN độc lập là khó khăn. Trong bài viết này, tôi giải thích năm phương pháp để đối phó với NAN trong Python. Ba phương pháp đầu tiên liên quan đến các chức năng được xây dựng từ các thư viện. Hai cuối cùng phụ thuộc vào các thuộc tính của NAN để tìm các giá trị NAN.
Phương pháp 1: Sử dụng thư viện Pandas
isna [] trong thư viện gấu trúc có thể được sử dụng để kiểm tra xem giá trị là null/nan. Nó sẽ trả về đúng nếu giá trị là nan/null.
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
isnan [] trong thư viện numpy có thể được sử dụng để kiểm tra xem giá trị là null/nan. Nó tương tự như isna [] trong 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 cung cấp có các chức năng toán học tích hợp. Thư viện được áp dụng cho tất cả các số thực. Thư viện CMATH có thể được sử dụng nếu xử lý các số phức tạp.Math Thư viện đã tích hợp trong hàm isnan [] để kiểm tra các giá trị null/nan.
Math library has built in function isnan[] to check null/NaN values.
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 bắt đầu sự nghiệp làm việc với công ty Big IT, tôi đã phải trải qua một khóa đào tạo trong tháng đầu tiên. Huấn luyện viên, khi giới thiệu khái niệm về các giá trị NAN được đề cập rằng chúng giống như người ngoài hành tinh mà chúng ta không biết gì. Những người ngoài hành tinh này liên tục biến hình và do đó chúng ta không thể so sánh giá trị NAN với chính nó. Phương pháp phổ biến nhất để kiểm tra các giá trị NAN là kiểm tra xem biến có bằng với chính nó không. Nếu nó không, thì nó phải là giá trị nan.
The most common method to check for NaN values is to check if the variable is equal to itself. If it is not, then it must be NaN value.
def isNaN[num]:
return num!= numx=float["nan"]
isNaN[x]OutputTrue
Phương pháp 5: Kiểm tra phạm vi
Một thuộc tính khác của NAN có thể được sử dụng để kiểm tra NAN là phạm vi. Tất cả các giá trị điểm nổi nằm trong phạm vi trừ vô cực đến vô cực.
Infinity