在Pandas身上,如何建立一个特定频率但只适用于特定月份的指数?

2024-04-16 21:09:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要创建一个特定的频率指数,但我需要应用该频率只为某些月份。这是频率:

index_1 = pd.date_range('1/1/2000', '1/1/2016', freq='WOM-3FRI')

我想创建一个像这样的指数,但是只针对一月,三月,九月和十二月。你知道吗

有没有一种Python的方法可以在熊猫身上做到这一点?你知道吗

谢谢


Tags: 方法dateindexrange指数频率pdfreq
2条回答

好吧,我用selector找到了答案:

index_1 = pd.date_range('1/1/2000', '1/1/2016', freq='WOM-3FRI')
data = pd.DataFrame(index=index_1)
month = data.index.month
selector = ((month == 12) | (month == 3) | (month == 6) | (month == 9))
data = data[selector]

您可以从月份构造Pandas索引,并使用^{}传递月份值列表以执行选择:

In [370]:

index_1 = pd.date_range('1/1/2000', '1/1/2016', freq='WOM-3FRI')
data = pd.DataFrame(index=index_1)
data[pd.Index(data.index.month).isin([3,6,9,12])]
Out[370]:
Empty DataFrame
Columns: []
Index: [2000-03-17 00:00:00, 2000-06-16 00:00:00, 2000-09-15 00:00:00, 2000-12-15 00:00:00, 2001-03-16 00:00:00, 2001-06-15 00:00:00, 2001-09-21 00:00:00, 2001-12-21 00:00:00, 2002-03-15 00:00:00, 2002-06-21 00:00:00, 2002-09-20 00:00:00, 2002-12-20 00:00:00, 2003-03-21 00:00:00, 2003-06-20 00:00:00, 2003-09-19 00:00:00, 2003-12-19 00:00:00, 2004-03-19 00:00:00, 2004-06-18 00:00:00, 2004-09-17 00:00:00, 2004-12-17 00:00:00, 2005-03-18 00:00:00, 2005-06-17 00:00:00, 2005-09-16 00:00:00, 2005-12-16 00:00:00, 2006-03-17 00:00:00, 2006-06-16 00:00:00, 2006-09-15 00:00:00, 2006-12-15 00:00:00, 2007-03-16 00:00:00, 2007-06-15 00:00:00, 2007-09-21 00:00:00, 2007-12-21 00:00:00, 2008-03-21 00:00:00, 2008-06-20 00:00:00, 2008-09-19 00:00:00, 2008-12-19 00:00:00, 2009-03-20 00:00:00, 2009-06-19 00:00:00, 2009-09-18 00:00:00, 2009-12-18 00:00:00, 2010-03-19 00:00:00, 2010-06-18 00:00:00, 2010-09-17 00:00:00, 2010-12-17 00:00:00, 2011-03-18 00:00:00, 2011-06-17 00:00:00, 2011-09-16 00:00:00, 2011-12-16 00:00:00, 2012-03-16 00:00:00, 2012-06-15 00:00:00, 2012-09-21 00:00:00, 2012-12-21 00:00:00, 2013-03-15 00:00:00, 2013-06-21 00:00:00, 2013-09-20 00:00:00, 2013-12-20 00:00:00, 2014-03-21 00:00:00, 2014-06-20 00:00:00, 2014-09-19 00:00:00, 2014-12-19 00:00:00, 2015-03-20 00:00:00, 2015-06-19 00:00:00, 2015-09-18 00:00:00, 2015-12-18 00:00:00]

[64 rows x 0 columns]

相关问题 更多 >