熊猫:创建带有列日期的季度末和年份列和季度列的列

时间:2020-04-16 17:44:43

标签: python pandas

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

    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

做到这一点的最佳方法是什么?

2 个答案:

答案 0 :(得分: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 :(得分:2)

您可以使用此pd.to_datetime来更改“ Year”和“ Qt”列的日期,然后通过以下方式向end of the Quarter添加偏移量:

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]