gpt4 book ai didi

python - 如何以 YYYY-Qx 格式查找上一年的匹配值?

转载 作者:太空宇宙 更新时间:2023-11-03 21:05:12 25 4
gpt4 key购买 nike

我有这个数据集,其 ['Sales'] 值按 ['Fiscal Quarter'] 分组,采用 YYYY-Qx 格式。我想将一个季度的值(value)与上一年的同季度进行比较(例如,2019 年第二季度与 2018 年第二季度)。

我以手动方式执行此操作,创建一个新列 Prev FY 并将值向上移动 4 次以获得匹配值,并且工作正常。

x = 4

df['上一财年'] = df['销售'].shift(x)

有时某些季度数据会丢失,因此移动 4 次不再有效。我想改进代码,以使用 ['Fiscal Quarter'] 列自动查找正确的行。

关于这个问题有什么帮助吗?

最佳答案

您需要PeriodIndex然后使用Series.shift中的参数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

关于python - 如何以 YYYY-Qx 格式查找上一年的匹配值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55456013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com