【问题标题】:convert yyyyqq to pandas date in clean way以干净的方式将 yyyyqq 转换为 pandas 日期
【发布时间】:2022-11-12 13:57:16
【问题描述】:

我正在尝试在熊猫中转换年份和季度。在下面的示例中,我试图为 1980Q1 获取 1980-03-31 等等。

df=pd.DataFrame({'year':['1980','1980','1980','1980'],'qtr':
                 ['Q1','Q2','Q3','Q4']})

scenario['date']=pd.to_datetime(scenario['year']+scenario['qtr'], infer_datetime_format=True)
scenario[['date','year','qtr']]
      date      year    qtr
0   1980-01-01  1980    Q1
1   1980-04-01  1980    Q2
2   1980-07-01  1980    Q3
3   1980-10-01  1980    Q4

【问题讨论】:

    标签: python pandas datetime


    【解决方案1】:

    您在寻找QuarterEnd 偏移量吗?

    import pandas as pd
    
    df=pd.DataFrame({'year':['1980','1980','1980','1980'],'qtr':
                     ['Q1','Q2','Q3','Q4']})
    
    df['date'] = pd.to_datetime(df['year']+df['qtr']) + pd.tseries.offsets.QuarterEnd()
    
    df[['date','year','qtr']]
            date  year qtr
    0 1980-03-31  1980  Q1
    1 1980-06-30  1980  Q2
    2 1980-09-30  1980  Q3
    3 1980-12-31  1980  Q4
    

    【讨论】:

    • 那将是一种很好的方法。但是有没有可以在 to_datetime 函数本身内部传递的参数?
    猜你喜欢
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 2023-03-18
    • 2021-06-04
    • 2014-06-26
    • 2013-09-05
    • 2016-12-21
    相关资源
    最近更新 更多