Powiedz, że mam ramkę danych df
z kolumną value
z pewnymi wartościami zmiennoprzecinkowymi i pewną liczbą NaN
. Jak mogę uzyskać część ramki danych, w której mamy NaN
przy użyciu składni zapytań?Kwerendowanie dla NaN i innych nazw w Pandach
dodaje się, na przykład, nie działa:
df.query('(value < 10) or (value == NaN)')
uzyskać name NaN is not defined
(taki sam dla df.query('value ==NaN')
)
Ogólnie rzecz biorąc, czy jest jakiś sposób, aby używać nazw NumPy w zapytaniu, takich jak inf
, nan
, pi
, e
itp.?
Powinien być lepszy sposób robienia tego ... ale lubię hack. –
Sztuczka '@ nan'" to * nie * działa dla 'numpy' vars np. 'nan = numpy.nan'. * Działa * w celu odfiltrowania innych * ciągów *. – javadba
@javadba: er, cały punkt tej sekcji to pokazanie, że '(value == @nan)' _doesn't_ work, ponieważ nan nie jest równy sobie, stąd moje użycie 'value! = Value' sztuczka. – DSM