2016-12-31 29 views
8

Sayı:Değiştir AYDK yeniden örnekleme kod

piyasa verileri ile çalışan ve aşağıdaki gibi günlük süre için gün içi verileri yeniden örnekleme: görünüyor

ohlc_dict = { 
'Open':'first', 
'High':'max', 
'Low':'min', 
'Last': 'last', 
'Volume': 'sum'} 

data.resample('1D',how=ohlc_dict).tail().dropna() 

       Open High Last Low  Volume 
    Timestamp     
    2016-12-27 163.55 164.18 164.11 163.55 144793.00 
    2016-12-28 164.18 164.33 164.22 163.89 215288.00 
    2016-12-29 164.44 164.65 164.49 164.27 245538.00 
    2016-12-30 164.55 164.56 164.18 164.09 286847.00 

bana verir etmek çıktı zaman ... (hala doğrulamak gerekir) ihtiyaç Ben aşağıdaki uyarıyı almak

:

FutureWarning: how in .resample() is deprecated 
the new syntax is .resample(...)..apply(<func>) 

Soru:

Bu nasıl resample kod apply kullanarak mevcut en iyi uygulamalara uyum sağlamak yeni sözdizimi kullanılarak çoğaltılmış olur?

denedim Ne: Sadece bir örnek olarak [ 'Düşük'] verileri kullanılarak

:

def ohlc (df): 
    return df['Low'].min() 

data.resample('1D').dropna().apply(ohlc,axis=1).tail(2) 

Timestamp 
2016-12-29 164.45 
2016-12-30 164.26 
dtype: float64 

bana aynı sonuçları vermez ve nerede apply eklemek için Im emin yapmaz . Böylece resample().agg() bu sözlüğü geçebilir groupby gibi

cevap

7

.resample() eser

teşekkürler: Burada

data bir dilim gerekirse bu test etmektir

df.resample('1D').agg(ohlc_dict).tail().dropna() 
Out: 
       Volume Last High Open  Low 
Timestamp           
2016-12-27 144793.0 164.11 164.18 163.55 163.55 
2016-12-28 215288.0 164.22 164.33 164.18 163.89 
2016-12-29 245538.0 164.49 164.65 164.44 164.27 
2016-12-30 286847.0 164.18 164.56 164.55 164.09 
+0

Güzel @ayhan: -) Daha önceki gibi aynı çıkışı aldım ama uyarı gitti. – ade1e

İlgili konular