如何转换包含Year&的列以str格式表示的季度(如"1947q1")到日期格式列,其中同时考虑了年份和季度? [英] How do you convert a column containing year & quarter in a str format as '1947q1' to date format column where both year and quarter are considered?

查看:65
本文介绍了如何转换包含Year&的列以str格式表示的季度(如"1947q1")到日期格式列,其中同时考虑了年份和季度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  **Year_qtr GDP    ADJ_GDP**

2   1947q1  243.1   1934.5
3   1947q2  246.3   1932.3
4   1948q3  250.1   1930.3
5   1949q4  260.3   1960.7

尝试使用dateutil包中的parse()方法,但没有进行任何操作.结果数据框应具有"Year_qtr"列作为日期值,而不是对象.

Tried parse() from dateutil package but didnt wwork. Result dataframe should have 'Year_qtr' column as date values instead of object.

推荐答案

pandas 已经可以立即使用!您可以立即将其转换为日期时间:

pandas already can do this out of the box! you can cast to datetime right away:

import pandas as pd

df = pd.DataFrame({'Year_qtr': ['1947q1', '1947q2', '1948q3', '1949q4']})

df['datetime'] = pd.to_datetime(df['Year_qtr'])

# df
#   Year_qtr   datetime
# 0   1947q1 1947-01-01
# 1   1947q2 1947-04-01
# 2   1948q3 1948-07-01
# 3   1949q4 1949-10-01

# vice versa you can do
df['datetime'].dt.to_period("Q")
# 0    1947Q1
# 1    1947Q2
# 2    1948Q3
# 3    1949Q4
# Name: datetime, dtype: period[Q-DEC]

这篇关于如何转换包含Year&的列以str格式表示的季度(如"1947q1")到日期格式列,其中同时考虑了年份和季度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆