我有一个pandas DataFrame,它有一个列(Title)需要解析为datetime对象,所以我可以把它变成一个时间序列。
Title Gross Domestic Product: Quarter on Quarter growth: CVM SA %
224 2009 Q3 0.1
225 2009 Q4 0.4
226 2010 Q1 0.5
任何人都可以指出最好的方法吗?
我想要的输出是
Title Gross Domestic Product: Quarter on Quarter growth: CVM SA %
224 2009-09 0.1
225 2009-12 0.4
226 2010-03 0.5
答案 0 :(得分:2)
如果Year和Quarter之间没有空格,pandas可以解析它,所以你需要替换空格字符:
pd.to_datetime(df['Title'].str.replace(' ', '')) + pd.offsets.QuarterEnd(0)
Out:
0 2009-09-30
1 2009-12-31
2 2010-03-31
Name: Title, dtype: datetime64[ns]
默认情况下,它会为您提供季度的开始日期,因此我添加了here所述的偏移量。