2014-11-30 18 views
5

Bir DataFrame'i ayın sonundaki koşulda alt kümeye almaya çalışıyorum. Ben kullandı:Pandas'ta “ayın son iş günü” nü nasıl seçebilirim?

df['Month_End'] = df.index.is_month_end 
sample = df[df['Month_End'] == 1] 

Bu benim borsa verileri ile çalışıyorum, yani ayın fiili uç hafta sonu boyunca nerede olduğunu tüm örneklerini kaçırıyorum çalışır, ancak, ben seçmek için bir yol gerekir "ayın son iş günü".

cevap

5

time series her ayın son iş günü içinde freq='BM' içinden geçirerek oluşturabilirsiniz.

>>> pd.date_range('1/1/2014', periods=12, freq='BM') 
[2014-01-31 00:00:00, ..., 2014-12-31 00:00:00] 
Length: 12, Freq: BM, Timezone: None 

Ardından subsetine/senin DataFrame reindex bu TimeSeries kullanabilirsiniz:

Örneğin, 2014 yılının son iş günü bir dizi oluşturun. dizi üretme

+0

Bu çözüm görmek Eserleri. Tek sorun, bazı serilerde, ayın son iş günü 'özel bir tatil' olabilir, bu yüzden bunu denklemde hesaba katmanız gerekir. – hernanavella

İlgili konular