我正在使用面板数据,其中有几家上市公司和每家公司的几次季度观察。我认为组织数据的最佳方式是MultiIndex,其中第一级是唯一的公司标识符(本例中为'gvkey'),第二级为本季度。熊猫自定义财政季度?
我很难搞清楚如何做到这一点,因为会计年度结束可以是一年中的任何月份,这表示我使用DatetimeIndex.quarter
。有没有办法让我在熊猫中定义对熊猫有意义的定制宿舍?我可以简单地使用诸如'2014Q1'之类的字符串,但我希望能够将其作为某种对象,以便Pandas能够知道上一季度是什么,或者知道该公司的财政年度结束是第10个月,因此2014Q1将于2014年1月结束。这可能吗?
下面是我在DataFrame中的一些数据的示例。该索引是gvkey
,一个独特的公司标识符。 datadate
是本季度的最后一天(即本季度最后一个月的最后一天),datafqtr
是年和季度字符串,fyr
是财年结束的月份(例如,5代表一年五月结束)。
conm datadate datafqtr fyr
gvkey
001004 AAR CORP 2014-02-28 2013Q3 5.0
001004 AAR CORP 2014-05-31 2013Q4 5.0
001004 AAR CORP 2014-08-31 2014Q1 5.0
001004 AAR CORP 2014-11-30 2014Q2 5.0
001045 AMERICAN AIRLINES GROUP INC 2014-03-31 2014Q1 12.0
001045 AMERICAN AIRLINES GROUP INC 2014-06-30 2014Q2 12.0
001045 AMERICAN AIRLINES GROUP INC 2014-09-30 2014Q3 12.0
001045 AMERICAN AIRLINES GROUP INC 2014-12-31 2014Q4 12.0
001050 CECO ENVIRONMENTAL CORP 2014-03-31 2014Q1 12.0
001050 CECO ENVIRONMENTAL CORP 2014-06-30 2014Q2 12.0
001050 CECO ENVIRONMENTAL CORP 2014-09-30 2014Q3 12.0
001050 CECO ENVIRONMENTAL CORP 2014-12-31 2014Q4 12.0
001062 ASA GOLD AND PRECIOUS METALS 2014-02-28 2014Q1 11.0
001062 ASA GOLD AND PRECIOUS METALS 2014-05-31 2014Q2 11.0
001062 ASA GOLD AND PRECIOUS METALS 2014-08-31 2014Q3 11.0
001062 ASA GOLD AND PRECIOUS METALS 2014-11-30 2014Q4 11.0
001072 AVX CORP 2014-03-31 2013Q4 3.0
001072 AVX CORP 2014-06-30 2014Q1 3.0
001072 AVX CORP 2014-09-30 2014Q2 3.0
001072 AVX CORP 2014-12-31 2014Q3 3.0
伊恩,这是真棒。肯定了解一些关于熊猫和NumPy的内容。我可能不像我应该在我的问题中那么清楚。我的数据源始终提供'datafqtr'列,所以我不需要重新创建它。我所希望的是,熊猫有一个处理宿舍的对象,这样我就可以进行智能化转变,并从上一季度获得价值。 例如,也许我想计算上一季度的收入变化。我可以告诉Pandas我的时间是四分之一,我想要-1 Q.我猜我不能? – Liedakkala
请参阅我的编辑 –