2014-06-16 16 views
5

Sto usando i panda per gestire i dati mensili che hanno qualche valore mancante. Vorrei poter utilizzare il metodo resample per calcolare le statistiche annuali ma per anni senza dati mancanti.pampas ricampionamento che si occupa di dati mancanti

Ecco il codice e l'output di dimostrare:

import pandas as pd 
import numpy as np 
dates = pd.date_range(start = '1980-01', periods = 24,freq='M') 
df = pd.DataFrame([np.nan] * 10 + range(14), index = dates) 

Ecco cosa ottengo se ingrandisco:

In [18]: df.resample('A') 
Out[18]: 
      0 
1980-12-31 0.5 
1981-12-31 7.5 

mi piacerebbe avere un np.nan per il 1980-1912 -31 indice da quell'anno non ha valori mensili per ogni mese. Ho provato a giocare con l'argomento "come" ma senza fortuna.

Come posso realizzare questo?

risposta

2

Sono sicuro che c'è un modo migliore, ma in questo caso è possibile utilizzare:

df.resample('A', how=[np.mean, pd.Series.count, len]) 

e poi cadere tutte le righe in cui count != len

+0

guarderò in questo. Grazie. – sbiner

Problemi correlati