在 pandas 数据框列中,如果是 2017 年,则删除最后 4 位数字

In a pandas dataframe column, remove last 4 digit if it's 2017

在 pandas 数据框中,有一个 X 列,数字为 12342017、23456782017、WC456123、ER2017124。 如果是“2017”,我想删除最后四位数字

所以,我想要的输出应该是 1234,2345677,WC45612,ER2017124

使用 Series.str.replace$ 作为字符串结尾的正则表达式,如果可能的话,将数字与字符串混合,首先转换为字符串:

df = pd.DataFrame({'X': ['12342017', '23456782017', 'WC456123', 'ER2017124']})

df['X'] = df['X'].astype(str).str.replace('2017$','')
print (df)
           X
0       1234
1    2345678
2   WC456123
3  ER2017124