如何以yyyqx格式查找上一年的匹配值?

2024-04-24 07:31:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我用['Sales']值的数据集按['Fiscal Quarter']YYYY-Qx格式分组。我想将一个季度的价值与上一年的同一季度进行比较(例如,2019-Q2和2018-Q2)。你知道吗

我用手动的方式来做这个,创建一个新的列Prev FY,并将值上移4次以得到匹配的值,它工作得很好。你知道吗

x = 4

df['Prev FY'] = df['Sales'].shift(x)

有时一些季度数据缺失,因此4次换班不再起作用。我想改进代码,使用['Fiscal Quarter']列自动找到正确的行。你知道吗

在这个问题上有什么帮助吗?你知道吗


Tags: 数据df格式方式手动价值qxfiscal
1条回答
网友
1楼 · 发布于 2024-04-24 07:31:18

需要^{},然后在^{}中使用参数freq

df = pd.DataFrame({'Fiscal Quarter':['2017-Q2','2018-Q2','2019-Q1','2019-Q2'],
                   'Sales':[10,20,30,40]})

df['Fiscal Quarter'] = pd.to_datetime(df['Fiscal Quarter']).dt.to_period('Q')

df = df.set_index('Fiscal Quarter')
df['Prev FY'] = df['Sales'].shift(4, freq='Q')
print (df)

                Sales  Prev FY
Fiscal Quarter                
2017Q2             10      NaN
2018Q2             20     10.0
2019Q1             30      NaN
2019Q2             40     20.0

相关问题 更多 >