代码之家  ›  专栏  ›  技术社区  ›  Lynn

减少日期值以在一年内仅显示2个字符(熊猫)

  •  1
  • Lynn  · 技术社区  · 3 年前

    我有一个数据集,我想减少一个日期列,以显示YY和YYYY

    数据

    ID      Date    Stat
    AMS101  Q1.2022 y
    BWI101  Q1.2022 y
    BWI101  Q1.2022 n
    

    渴望的

     ID     Date    Stat
     AMS101 Q1.22   y
     BWI101 Q1.22   y
     BWI101 Q1.22   n
    

    df['Date'] = df['Date'].astype(datetime).datetime[:-2]
    

    任何建议都将不胜感激

    1 回复  |  直到 3 年前
        1
  •  2
  •   Mohammad Mufassir Khan    3 年前

    试试这个:

    df['Date'] = df['Date'].astype(str).apply(lambda x: str(x[0:3])+str(x[-2:]))
    
        2
  •  0
  •   mozway    3 年前

    避免使用 apply ,最好在这里使用正则表达式:

    df['Date'] = df['Date'].astype(str).str.replace(r'\.\d{2}', '.')
    

    或者,如果日期已经是字符串:

    df['Date'] = df['Date'].str[:3]+df['Date'].str[-2:]