python - 从多季度期间提取季度数据

标签 python numpy pandas

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

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

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

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

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

我的问题是在 pandas 中完成季度数据提取的最佳方法是什么?

每个周期有很多字段(收入、利润、暴露等)。

关于如何在 Pandas 中表达这个时期的数据,我问了一个相关问题:Creating Period for Multi Quarter Timespan in Pandas

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

10问:

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

最佳答案

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

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

关于python - 从多季度期间提取季度数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17976074/

相关文章:

php - 批量 HTTP 状态请求

python - 在没有双循环的情况下展平 numpy 数组

python-3.x - 根据条件在 Pandas 数据框中创建一列

python - 在数据框中的每一行之后添加计算行

python - 如何将 typedef 变量的指针实现到 SWIG 中?参数 2 类型为 'BYTE const *' 错误

python - 使用 Python 询问嵌套列表中的计数频率

python - 如果有两个不同的值具有相同的键,如何更改数据框单元格中的值

python - Numpy 多维数组中轴上 "True"值的最大数量

Python/Numpy - 保存带有列和行标题的数组

python - Pandas 应用带参数的函数