Ricerca…


Osservazioni

Gotcha in generale è un costrutto che è ben documentato, ma non intuitivo. I trucchi producono un output che normalmente non è previsto a causa del suo carattere controintuitivo.

Il pacchetto Pandas ha diversi trucchi, che possono confondere qualcuno, che non ne è a conoscenza, e alcuni di essi sono presentati in questa pagina di documentazione.

Rilevamento di valori mancanti con np.nan

Se vuoi rilevare le missioni con

df=pd.DataFrame({'col':[1,np.nan]})
df==np.nan

otterrai il seguente risultato:

col
0    False
1    False

Questo perché confrontando il valore mancante con qualcosa si ottiene un Falso, invece di questo dovresti usare

df=pd.DataFrame({'col':[1,np.nan]})   
df.isnull()

che risulta in:

col
0    False
1    True

Integer e NA

I panda non supportano la mancanza negli attributi di tipo intero. Ad esempio, se hai delle missioni nella colonna dei voti:

df= pd.read_csv("data.csv", dtype={'grade': int}) 
error: Integer column has NA values

In questo caso devi solo usare float invece di numeri interi o impostare il tipo di oggetto.

Allineamento automatico dei dati (comportamento basato sull'indice)

Se vuoi aggiungere una serie di valori [1,2] alla colonna di dataframe df, otterrai NaN:

import pandas as pd

series=pd.Series([1,2])
df=pd.DataFrame(index=[3,4])
df['col']=series
df

   col
3    NaN
4    NaN

perché l'impostazione di una nuova colonna allinea automaticamente i dati con l'indexe, ei tuoi valori 1 e 2 otterrebbero gli indici 0 e 1, e non 3 e 4 come nel tuo data frame:

df=pd.DataFrame(index=[1,2])
df['col']=series
df

   col
1      2.0
2      NaN

Se vuoi ignorare l'indice, devi impostare i valori. Alla fine:

df['col']=series.values

   col
3    1
4    2


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow