Differenza tra isna () e isnull () nei panda


73

Uso i panda da un po 'di tempo. Ma non capisco qual è la differenza tra isna()e isnull()nei panda. E, soprattutto, quale utilizzare per identificare i valori mancanti nel frame di dati.

Qual è la differenza di base alla base di come viene rilevato un valore come uno nao null?


1
Le due funzioni sono uguali. Entrambi danno i valori mancanti.
Ankit Seth,

Risposte:


94

Pandas isna()vs isnull().

Sto assumendo si fa riferimento pandas.DataFrame.isna()vs pandas.DataFrame.isnull(). Da non confondere pandas.isnull(), che a differenza dei due precedenti non è un metodo della classe DataFrame.

Questi due metodi DataFrame fanno esattamente la stessa cosa! Anche i loro documenti sono identici. Puoi persino confermarlo nel codice di Panda .

Ma perché due metodi con nomi diversi fanno la stessa cosa?

Questo perché i DataFrame di Panda sono basati sui DataFrame di R. In R nae nullsono due cose separate. Leggi questo post per ulteriori informazioni.

Tuttavia, in Python, Panda è costruito su numpy, che nonnanull ha valori. Invece numpy ha NaNvalori (che sta per "Not a Number"). Di conseguenza, anche i panda usano NaNvalori.

In breve

  • Per rilevare NaNvalori intorpiditi usa np.isnan().

  • Per rilevare i NaNvalori, i panda usano .isna()o .isnull().
    I NaNvalori sono ereditati dal fatto che i panda sono costruiti su numpy, mentre i nomi delle due funzioni provengono da DataFrames di R, i cui panda di struttura e funzionalità hanno cercato di imitare.


3
Questo spiega tutto e sì, ho voluto dedurre 'pandas.DataFrame.isna ()' vs 'pandas.DataFrame.isnull ()'. Grazie per una spiegazione così dettagliata.
Vaibhav Thakur,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.