Sto lavorando attraverso "Python per l'analisi dei dati" e non capisco una particolare funzionalità. L'aggiunta di due oggetti serie pandas allineerà automaticamente i dati indicizzati, ma se un oggetto non contiene quell'indice viene restituito come NaN. Per esempio dal libro:Aggiunta di due oggetti pandas.series
a = Series([35000,71000,16000,5000],index=['Ohio','Texas','Oregon','Utah'])
b = Series([NaN,71000,16000,35000],index=['California', 'Texas', 'Oregon', 'Ohio'])
Risultato:
In [63]: a
Out[63]: Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
In [64]: b
Out[64]: California NaN
Texas 71000
Oregon 16000
Ohio 35000
Quando li aggiungo insieme ottengo questo ...
In [65]: a+b
Out[65]: California NaN
Ohio 70000
Oregon 32000
Texas 142000
Utah NaN
Allora, perché è il valore Utah NaN e non 500? Sembra che 500 + NaN = 500. Cosa dà? Mi manca qualcosa, per favore spiega.
Aggiornamento:
In [92]: # fill NaN with zero
b = b.fillna(0)
b
Out[92]: California 0
Texas 71000
Oregon 16000
Ohio 35000
In [93]: a
Out[93]: Ohio 35000
Texas 71000
Oregon 16000
Utah 5000
In [94]: # a is still good
a+b
Out[94]: California NaN
Ohio 70000
Oregon 32000
Texas 142000
Utah NaN
Risolto: l'operatore '+' esegue un'unione dei due. Avevo bisogno invece del metodo .add(). – joelotz