使用Pandas将长季度更新为短季度



我想用''替换空格。'然后通过去除前2个字符来缩短数值的长度(例如2022(。

数据

df=

ID  Date        
AA  Q1 2022     
BB  Q4 2024     
CC  Q2 2025     
CC  Q3 2025     
CC  Q1 2021     
DD  Q2 2021 

所需

ID  Date
AA  Q1.22
BB  Q4.24
CC  Q2.25
CC  Q3.25
CC  Q1.21
DD  Q2.21

执行

1.将空白替换为".">

df.Date.fillna(value=., inplace=True)

2.删除年份的前两位数字

df["Date"].str[2:]

3.可能是concat

欢迎提出任何建议。

使用带有正则表达式模式(regex=True(的Series.replace

df['Date'] = df['Date'].replace(r'sd{2}','.',regex=True)
print(df)
ID   Date
0  AA  Q1.22
1  BB  Q4.24
2  CC  Q2.25
3  CC  Q3.25
4  CC  Q1.21
5  DD  Q2.21

解释正则表达式模式sd{2}:

  • s匹配任何空白字符
  • d与数字匹配
  • {2}与前一个令牌(即数字(正好匹配2次

最新更新