将 2010 Q1 转换为日期时间为 2010-3-31
问题描述
如何找到将 Year_Q 转换为日期时间的智能解决方案?我尝试使用
How to find a smart solution to turn Year_Q to datetime? I tried to use
pd.to_datetime(working_visa_nationality['Year_Q'])
但得到错误说这无法识别.所以我尝试了一个愚蠢的方法:
but got error says that this cannot be recognized. So I tried a stupid way as:
working_visa_nationality['Year'] = working_visa_nationality.Year_Q.str.slice(0,4)
working_visa_nationality['Quarter'] = working_visa_nationality.Year_Q.str.slice(6,8)
现在我发现了一个问题:确实可以按年份对数据进行分组,但是很难将季度包含在我的折线图中.
And now I found a problem: it is true that I can groupby data by the year, but it is difficult to include the quarter to my line plot.
那么如何让 2010 Q1 像 2010-3-31 一样呢?
So how to make 2010 Q1 like 2010-3-31?
解决方案
我有点改变MaxU
回答:
I a bit changed MaxU
answer:
df = pd.DataFrame({'Year_Q': ['2010 Q1', '2015 Q2']})
df['Dates'] = pd.PeriodIndex(df['Year_Q'].str.replace(' ', ''), freq='Q').to_timestamp()
print (df)
Year_Q Dates
0 2010 Q1 2010-01-01
1 2015 Q2 2015-04-01
df['Dates'] = pd.PeriodIndex(df['Year_Q'].str.replace(' ', ''), freq='Q').to_timestamp(how='e')
print (df)
Year_Q Dates
0 2010 Q1 2010-03-31
1 2015 Q2 2015-06-30
相关文章