capisco che OHLC ri-campionamento dei dati di serie temporali di Panda, utilizzando una colonna di dati, funziona perfettamente, ad esempio sui seguenti dataframe:Pandas OHLC aggregazione su dati OHLC
>>df
ctime openbid
1443654000 1.11700
1443654060 1.11700
...
df['ctime'] = pd.to_datetime(df['ctime'], unit='s')
df = df.set_index('ctime')
df.resample('1H', how='ohlc', axis=0, fill_method='bfill')
>>>
open high low close
ctime
2015-09-30 23:00:00 1.11700 1.11700 1.11687 1.11697
2015-09-30 24:00:00 1.11700 1.11712 1.11697 1.11697
...
Ma cosa fare Lo faccio se i dati sono già in un formato OHLC? Da quello che posso raccogliere il metodo OHLC dell'API calcola una fetta OHLC per ogni colonna, quindi se il dato è nel formato:
ctime openbid highbid lowbid closebid
0 1443654000 1.11700 1.11700 1.11687 1.11697
1 1443654060 1.11700 1.11712 1.11697 1.11697
2 1443654120 1.11701 1.11708 1.11699 1.11708
Quando provo a ri-campione ottengo un OHLC per ciascuna delle colonne, in questo modo:
openbid highbid \
open high low close open high
ctime
2015-09-30 23:00:00 1.11700 1.11700 1.11700 1.11700 1.11700 1.11712
2015-09-30 23:01:00 1.11701 1.11701 1.11701 1.11701 1.11708 1.11708
...
lowbid \
low close open high low close
ctime
2015-09-30 23:00:00 1.11700 1.11712 1.11687 1.11697 1.11687 1.11697
2015-09-30 23:01:00 1.11708 1.11708 1.11699 1.11699 1.11699 1.11699
...
closebid
open high low close
ctime
2015-09-30 23:00:00 1.11697 1.11697 1.11697 1.11697
2015-09-30 23:01:00 1.11708 1.11708 1.11708 1.11708
c'è un rapido (ish) soluzione per questo che qualcuno è disposto a condividere per favore, senza di me dover arrivare fino alle ginocchia in manuale di panda?
Grazie.
ps, c'è questa risposta - Converting OHLC stock data into a different timeframe with python and pandas - ma era 4 anni fa, quindi spero che ci siano stati dei progressi.
Sì, vado con quello; significa aggiornare i panda, ma il modo in cui la mia funzione stava andando significa che questa è l'opzione preferibile. Grazie. – user3439187
Qualche idea se potessi aggiungere il metodo 'fill_method = 'bfill'' a quella soluzione per gestire i NAN? – user3439187
Dimentica l'ultima domanda, il metodo è cambiato in .bfill() – user3439187