我在名为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对象
答案 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