美国的上市公司进行季度申报 (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问:
- http://www.sec.gov/Archives/edgar/data/1174922/000119312512225309/d326512d10q.htm#tx326512_4
- http://www.sec.gov/Archives/edgar/data/1174922/000119312512347659/d360762d10q.htm#tx360762_3
- http://www.sec.gov/Archives/edgar/data/1174922/000119312512463380/d411552d10q.htm#tx411552_3
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/