所以我有一列包含日期作为字符串对象,但是日期的格式并不相同。有些是月/年或年。我希望它们都是 YYYY,然后将它们转换为浮动对象。我正在尝试使用正则表达式来替换这些字符串,但我遇到了困难。列名称为"cease_date",DF 称为"dete_resignations"。
pattern2 = r"(?P<cease_date>[1-2][0-9]{3})?"
years = dete_resignations['cease_date'].str.extractall(pattern2)
print(years['cease_date'].value_counts())
2013 146
2012 129
2014 22
2010 2
2006 1
所以从上面开始,正则表达式有效,但我不知道如何将其恢复到原始数据帧中。我尝试做布尔索引,但它不起作用。我这样做的方式是错误的吗?
您可以使用此正则表达式提取字符串中的最后四位数字:
years = dete_resignations['cease_date'].str.extract('(d{4})$')[0]