将 2010 Q1 转换为日期时间为 2010-3-31

Turn 2010 Q1 to datetime as 2010-3-31(将 2010 Q1 转换为日期时间为 2010-3-31)
本文介绍了将 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

这篇关于将 2010 Q1 转换为日期时间为 2010-3-31的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Seasonal Decomposition of Time Series by Loess with Python(Loess 用 Python 对时间序列进行季节性分解)
Resample a time series with the index of another time series(使用另一个时间序列的索引重新采样一个时间序列)
How can I simply calculate the rolling/moving variance of a time series in python?(如何在 python 中简单地计算时间序列的滚动/移动方差?)
How to use Dynamic Time warping with kNN in python(如何在python中使用动态时间扭曲和kNN)
Keras LSTM: a time-series multi-step multi-features forecasting - poor results(Keras LSTM:时间序列多步多特征预测 - 结果不佳)
Python pandas time series interpolation and regularization(Python pandas 时间序列插值和正则化)