【问题标题】:DateTime to quarter end in PandasDateTime 到 Pandas 的季度末
【发布时间】:2022-11-30 18:25:04
【问题描述】:
我当前的日期格式为“202003”、“202006”、“202009”。我想将其更改为“2020-03-31”、“2020-06-30”、“2020-09-30”。
这是我的代码:
df6['Date'] = pd.to_datetime(df6['Date'], format = "%Y%m").dt.strftime('%Y-%m-%d')
df6['Date'] = df6['Date'] + pd.offsets.QuarterEnd(0)
TypeError: unsupported operand type(s) for +: 'pandas._libs.tslibs.offsets.QuarterEnd' and 'str'
我怎样才能解决这个问题?
【问题讨论】:
标签:
python
pandas
datetime
datetimeoffset
quarter
【解决方案1】:
添加日期偏移量前使用 strftime 转换为字符串,例如:
import pandas as pd
df = pd.DataFrame({"Date": ["202003", "202006", "202009"]})
df['Date'] = pd.to_datetime(df['Date'], format="%Y%m") + pd.offsets.QuarterEnd(0)
df['Date_str'] = df['Date'].dt.strftime('%Y-%m-%d')
df.head()
Date Date_str
0 2020-03-31 2020-03-31
1 2020-06-30 2020-06-30
2 2020-09-30 2020-09-30
df.dtypes
Date datetime64[ns]
Date_str object
dtype: object