Moje tablice numpy używają np.nan
do oznaczania brakujących wartości. Podczas iteracji zestawu danych muszę wykrywać takie brakujące wartości i traktować je w specjalny sposób.
Naiwnie użyłem numpy.isnan(val)
, co działa dobrze, chyba że val
nie jest wśród podzbioru typów obsługiwanych przez numpy.isnan()
. Na przykład brakujące dane mogą wystąpić w polach ciągów, w takim przypadku otrzymuję:
>>> np.isnan('some_string')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Not implemented for this type
Czy poza napisaniem drogiego opakowania, które wyłapuje wyjątek i zwraca False
, istnieje sposób, aby poradzić sobie z tym elegancko i wydajnie?
pandas.isnull()
wydaje się działać idealnie. Jedynym typem danych, z którym obecnie mam do czynienia, a którym są podziały, numpy.isnan()
jest ciąg i pandas.isnull()
dobrze go obsługuje. W rzeczywistości wydaje się, że dobrze radzi sobie z każdym przypadkowym przedmiotem, który w niego rzuciłem. Czy były jakieś konkretne problemy, którymi się martwiłeś? W przeciwnym razie możesz przesłać komentarz jako pełną odpowiedź, ponieważ wydaje się, że jest to odpowiedź kanoniczna, przynajmniej dla użytkowników pand.
pandas
haspandas.isnull()
: Nie jestem pewien, czy to spełnia Twoje potrzeby, więc niektóre przykładowe dane mogą być dobre.