mam listę numerów które wprowadzone do numpy tablicy:numpy: stosując operator - tablic zawierających Brak
>>> import numpy as np
>>> v=np.array([10.0, 11.0])
wtedy zostać odejmowanie od każdej wartości liczby w tablicy. Można to zrobić w ten sposób z tablicami NumPy:
>>> print v - 1.0
[ 9. 10.]
Niestety, moje dane zawiera wartości często brakuje, reprezentowanych przez None
. Dla tego rodzaju danych otrzymuję ten błąd:
>>> v=np.array([10.0, 11.0, None])
>>> print v - 1.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
co chciałbym dostać się do powyższego przykładu:
[ 9. 10. None]
Jak mogę to osiągnąć w prosty i skuteczny sposób?
Te opcje są również dużo lepsze niż użycie Brak w tym, że tablica OP jest w rzeczywistości typu 'object', a zatem bardzo nieefektywna, rastrowa niż tablica float. – Dougal
Wielkie dzięki, użycie 'numpy.nan' brzmi jak droga, bardziej praktyczne niż maskowane tablice. Kiedy zamaskowane tablice będą lepsze niż wskazywanie brakującego wskaźnika danych jako numpy.nan? – piokuc
Myślę, że maskowane tablice mogą być lepsze do wykonywania niektórych operacji, takich jak sumy i średnie tablic (wtedy brakujące dane są traktowane poprawnie). Sądzę też, że możesz odróżnić rzeczywiste NaN od brakujących danych. W przeciwnym razie (powiedziałbym prawie zawsze) nans są lepsze IMO. –