从多季度时段中提取季度数据

时间:2013-07-31 16:38:16

标签: python numpy pandas

美国上市公司提交季度申报(10-Q)和年度申报(10-K)。在大多数情况下,他们每年将提交三个10Q和一个10K。

在大多数情况下,季度申报(10季度)包含季度数据。例如,“截至2005年3月31日的三个月的收入。”

年度申报通常只有年终金额。例如:“截至2005年12月31日的十二个月的收入。”

为了获得2005年Q4的价值,我需要获取年度数据并减去每个季度的值(Q1-Q3)。

在某些情况下,每个季度数据都表示为年初至今。例如,第一季度报告是“截至2005年3月31日的三个月的收入”。第二个是“截至2005年6月30日的六个月的收入”。第三个“截至2005年9月30日的九个月的收入”。年度如上所述,“截至2005年12月31日的12个月的收入”。这代表了上述问题的概括,其中希望提取季度数据,这可以通过重复减去前一时期数据来实现。

我的问题是大熊猫实现季度数据提取的最佳方式是什么?

每个时期有大量字段(收入,利润,曝光等)。

我就如何在熊猫中表达这段期间数据提出了一个相关问题:Creating Period for Multi Quarter Timespan in Pandas

以下是第一个问题的一些示例数据(三个10Q和一个10K只有年终数据):

10Q:

10K:

Calcbench指的是这个问题:http://www.calcbench.com/Home/userGuide:“Q4计算:公司通常不会报告Q4数据,而是选择报告全年数据。我们会自动为您计算。计算蓝色数据

将有多年的数据,每年我都要计算缺少的第四季度:

         2012Q2  2012Q3  2012Y  2013Q1  2013Q2  2013Q3  2013Y
Revenue       1       1      1       1       1       1      1
Expense      10      10     10      10      10      10     10

2 个答案:

答案 0 :(得分:0)

您可以定义一个函数,从年度数中减去季度总数,然后将函数应用于每一行,将结果存储在新列中。

In [2]: df
Out[2]:
         Annual  Q1  Q2  Q3
Revenue      18   3   4   5
Expense      17   2   3   4

In [3]: def calc_Q4(row):
   ...:     return row['Annual'] - row['Q1'] - row['Q2'] - row['Q3']

In [4]: df['Q4'] = df.apply(calc_Q4, axis = 1)

In [5]: df
Out[5]:
         Annual  Q1  Q2  Q3  Q4
Revenue      18   3   4   5   6
Expense      17   2   3   4   8

答案 1 :(得分:0)

我为Calcbench工作。

我为Calcbench编写了一个API,并举例说明将SEC数据转换为Pandas数据帧,https://www.calcbench.com/home/api

您需要注册Calcbench才能使用它。