Pandas:创建带有给定年份列和季度列的季度结束日期的列

问题描述 投票:2回答:2

我是熊猫新手,一直在努力完成这项简单的任务。给定以下数据框:

    Year  Qt  Value
0   2010  2   17
1   2015  1   11
2   2020  1   86

我想创建另一个具有季度结束日期的列:

    Year  Qt  Value Date
0   2010  2   17    30/06/2010
1   2015  1   11    31/03/2015
2   2020  1   86    31/03/2020

最佳方法是什么?

python pandas
2个回答
2
投票

我将使用pd.Periodend_time

df['Date'] = df.apply(lambda x: pd.Period(f"{x['Qt']}Q{x['Year']}" ).end_time.strftime('%d/%m/%Y'), axis=1)

输出:

   Year  Qt  Value        Date
0  2010   2     17  30/06/2010
1  2015   1     11  31/03/2015
2  2020   1     86  31/03/2020

1
投票

您可以这样做:

pd.to_datetime(df['Year'].astype(str)+'Q'+df['Qt'].astype(str))\
  + pd.tseries.offsets.QuarterEnd()
0   2010-06-30
1   2015-03-31
2   2020-03-31
dtype: datetime64[ns]
© www.soinside.com 2019 - 2024. All rights reserved.