Ho una tabella in cui una delle colonne è la data di accadimento (il dataframe non è indicizzato per data)Pandas data groupby gamma
voglio gruppo tavolo per data in cui tutti gli elementi che si sono verificati prima di una certa data è raggruppata in un secchio. Questo dovrebbe essere cumulativo, quindi i bucket successivi includeranno tutti i punti dati di quelli precedenti.
Ecco dell'oggetto daterange devo gruppo da:
date_rng = date_range('28/02/2010','31/08/2014',freq='3M')
Ecco un esempio di alcuni datapoints nella tabella:
df_raw.head()
Ticker FY Periodicity Measure Val Date
0 BP9DL90 2009 ANN CPX 1000.00 2008-03-31 00:00:00
1 BP9DL90 2010 ANN CPX 600.00 2009-03-25 00:00:00
2 BP9DL90 2010 ANN CPX 600.00 2009-09-16 00:00:00
3 BP9DL90 2011 ANN CPX 570.00 2010-03-17 00:00:00
4 BP9DL90 2011 ANN GRM 57.09 2010-09-06 00:00:00
[5 rows x 6 columns]
Qualsiasi input sarebbe molto apprezzato.
Grazie
Non suona come 'raggruppamento '(nel senso panda) è l'approccio giusto qui. Questa è un'operazione reciprocamente esclusiva. Cosa stai cercando di fare? Se si desidera aggregare una delle colonne, è possibile prendere in considerazione l'indicizzazione in base alla data e quindi ad es. 'cumsum()', o 'pd.rolling_apply()' per ottenere un 'totale parziale' – Luciano
Sto cercando di filtrare i dati in base a determinati criteri. Uno di questi criteri è "a partire dalla data x". Non sto cercando di aggregare i dati. Non sapevo che il gruppo di panda si escludesse a vicenda - probabilmente dovrò creare dei loop per creare manualmente sottoinsiemi della tabella principale. – user3294195
basato su questo, vorrei prima provare a leggere i dati con data come indice (vedi 'index_col' e' parse_dates' args di 'pd.read_csv()'), quindi puoi fare un ciclo facilmente come questo: 'per d in date_range: print (df_raw [: d]) 'che stamperà la (sotto) tabella fino alla data d. – Luciano