python_计算滚动营收
本文介绍了利润表中季度数据的计算方法,并提供了Python代码实现。季度数据Q1-Q4分别表示1-3月、1-6月、1-9月和1-12月的累计营收。为进行合理分析,需要将数据转换为滚动四个季度数据:首先计算单个季度数据(如【Q2】=Q2-Q1),然后将当前季度与前三个季度相加。文中以贵州茅台1998-2025年的营收数据为例,展示了如何通过pandas实现这一计算过程,包括数据排序、差分计算和滚动求
目录
描述:
利润表是时间段数据,即(以营收科目表述)
Q1 是1月1日到3月31日这个时间段企业赚到的钱,也就是1月、2月、3月,三个月份。
Q2 是1月1日到6月30日这个时间段企业赚到的钱,也就是1月、2月、3月、4月、5月、6月,六个月份
Q3 是1月1日到9月30日这个时间段企业赚到的钱,也就是1月、2月、3月、4月、5月、6月、7月、8月、9月,九个月份
Q4 是1月1日到12月31日这个时间段企业赚到的钱,也就是1~12月,十二个月份。
在做数据分析时,如果用季度数据,需要把数据调节成滚动四个季度的数据会比较合理。
滚动四个季度数据计算方法:
1)计算单个季度的数据,即获取
1月、2月、3月,【Q1】数据,我们加中括号与利润表的季度数据以便区分
4月、5月、6月,【Q2】数据
7月、8月、9月,【Q3】数据
10月、11月、12月,【Q4】数据
所以,
【Q1】= Q1,
【Q2】= Q2 - Q1,
【Q3】= Q3 - Q2,
【Q4】= Q4 - Q3
2) 当前季度的滚动数据 = 当前季度 + 前三个季度累加和
代码:
def temp_001():
date_list = ['1998-12-31', '1999-12-31', '2000-12-31', '2001-06-30', '2001-12-31', '2002-03-31', '2002-06-30', '2002-09-30', '2002-12-31', '2003-03-31', '2003-06-30', '2003-09-30', '2003-12-31', '2004-03-31', '2004-06-30', '2004-09-30', '2004-12-31', '2005-03-31', '2005-06-30', '2005-09-30', '2005-12-31', '2006-03-31', '2006-06-30', '2006-09-30', '2006-12-31', '2007-03-31', '2007-06-30', '2007-09-30', '2007-12-31', '2008-03-31', '2008-06-30', '2008-09-30', '2008-12-31', '2009-03-31', '2009-06-30', '2009-09-30', '2009-12-31', '2010-03-31', '2010-06-30', '2010-09-30', '2010-12-31', '2011-03-31', '2011-06-30', '2011-09-30', '2011-12-31', '2012-03-31', '2012-06-30', '2012-09-30', '2012-12-31', '2013-03-31', '2013-06-30', '2013-09-30', '2013-12-31', '2014-03-31', '2014-06-30', '2014-09-30', '2014-12-31', '2015-03-31', '2015-06-30', '2015-09-30', '2015-12-31', '2016-03-31', '2016-06-30', '2016-09-30', '2016-12-31', '2017-03-31', '2017-06-30', '2017-09-30', '2017-12-31', '2018-03-31', '2018-06-30', '2018-09-30', '2018-12-31', '2019-03-31', '2019-06-30', '2019-09-30', '2019-12-31', '2020-03-31', '2020-06-30', '2020-09-30', '2020-12-31', '2021-03-31', '2021-06-30', '2021-09-30', '2021-12-31', '2022-03-31', '2022-06-30', '2022-09-30', '2022-12-31', '2023-03-31', '2023-06-30', '2023-09-30', '2023-12-31', '2024-03-31', '2024-06-30', '2024-09-30', '2024-12-31', '2025-03-31']
income_list = [628184433.19, 890858185.64, 1114000813.26, 873863478.94, 1618046660.31, 718014858.53, 955654212.62, 1363886224.32, 1838129976.34, 735224645.92, 1009047565.48, 1552744360.1, 2401017934.93, 853431905.86, 1314109209.06, 2070438172.65, 3009793519.92, 1144017320.62, 1686144341.91, 2580318873.25, 3930515237.61, 1353005869.77, 2013492528.06, 3252383811.75, 4903375765.41, 1587538095.68, 2629088876.42, 4458382249.26, 7237430747.12, 1993496395.46, 4619717309.6, 6486517281.01, 8241685564.11, 2512537167.2, 5546006031.29, 7807202385.78, 9669999065.39, 3039906100.41, 6587266362.78, 9327577784.12, 11633283740.18, 4220589097.94, 9825823427.08, 13642075480.07, 18402355207.3, 6015967741.62, 13264437836.41, 19931438600.48, 26455335152.99, 7165785851.61, 14137431736.59, 22002381371.16, 31070596222.23, 7581739634.14, 14615639258.11, 22173257722.32, 32217213741.08, 8760367928.22, 16185651569.47, 23734319250.48, 33446859045.58, 10250867583.69, 18737617091.82, 27532735151.02, 40155084412.93, 13913411369.3, 25493896745.03, 44487374571.44, 61062756866.16, 18395256845.96, 35251464783.33, 54969266451.42, 77199384110.22, 22480525254.69, 41172681309.94, 63508663046.7, 88854337488.76, 25298492025.94, 45634371275.58, 69574876860.53, 97993240501.21, 28064735731.77, 50721582926.18, 77053154965.96, 109464278563.89, 33187160227.05, 59443518511.24, 89785880318.36, 127553959355.97, 39379301807.75, 70987206095.38, 105315900448.1, 150560330316.45, 46484738134.23, 83451164646.53, 123122542625.45, 174144069958.25, 51443450583.77]
df = pd.DataFrame(data={
'date':date_list,
'a0':income_list
})
df['o_date'] = pd.to_datetime(df['date'])
df.sort_values(by='o_date',ascending=False,inplace=True)
df['a1'] = df['a0'] - df['a0'].shift(-1)
df.loc[df['date'].str.endswith('-03-31'),'a1'] = df['a0']
df['a2'] = df['a1'] + df['a1'].shift(-1) + df['a1'].shift(-2) + df['a1'].shift(-3)
print(df['a2'].to_list())
pass
代码中的数据是贵州茅台营收数据。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)