将日期更改为季度

时间:2019-08-24 00:34:24

标签: python pandas dataframe datetime

我在名为new_data的数据框中有一个"dates"列。 日期格式为2019-08-01。我只想将所有日期更改为'Q1''Q2'等。

我尝试了这种遍历行并替换,没有运气


qtwo_startdate = pd.to_datetime("2019-03-30").date()
qtwo_enddate = pd.to_datetime("2019-07-1").date()

for i, row in new_data["dates"]:
    if i[qtwo_startdate:qtwo_enddate]:
        new_data.replace(i, "Q2")

我只是在日期列上说'Q1''Q2'等...

  
    

TypeError:无法解包不可迭代的datetime.date对象

  

1 个答案:

答案 0 :(得分:1)

您可以仅更改为datetime并获得quarter属性:

df = pd.DataFrame([['2018-01-01']], columns=['Date'])
df['Quarter'] = 'Q'+pd.to_datetime(df['Date']).dt.quarter.astype(str)

输出

    Date        Quarter
0   2018-01-01  Q1