【问题标题】:DateTime to quarter end in PandasDateTime 到 Pandas 的季度末
【发布时间】:2022-11-30 18:25:04
【问题描述】:

我当前的日期格式为“202003”、“202006”、“202009”。我想将其更改为“2020-03-31”、“2020-06-30”、“2020-09-30”。

这是我的代码:

df6['Date'] = pd.to_datetime(df6['Date'], format = "%Y%m").dt.strftime('%Y-%m-%d')
df6['Date'] = df6['Date'] + pd.offsets.QuarterEnd(0)

TypeError: unsupported operand type(s) for +: 'pandas._libs.tslibs.offsets.QuarterEnd' and 'str'

我怎样才能解决这个问题?

【问题讨论】:

    标签: python pandas datetime datetimeoffset quarter


    【解决方案1】:

    添加日期偏移量使用 strftime 转换为字符串,例如:

    import pandas as pd
    
    df = pd.DataFrame({"Date": ["202003", "202006", "202009"]})
    
    df['Date'] = pd.to_datetime(df['Date'], format="%Y%m") + pd.offsets.QuarterEnd(0)
    
    df['Date_str'] = df['Date'].dt.strftime('%Y-%m-%d')
    
    df.head()
            Date    Date_str
    0 2020-03-31  2020-03-31
    1 2020-06-30  2020-06-30
    2 2020-09-30  2020-09-30
    
    df.dtypes
    Date        datetime64[ns]
    Date_str            object
    dtype: object
    

    【讨论】:

      猜你喜欢
      • 2020-06-18
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      • 2022-01-07
      • 2021-06-12
      • 2017-11-25
      • 2018-07-08
      • 1970-01-01
      相关资源
      最近更新 更多