如何在Pandas中将日期时间转指定格式后提取年月子串?
Pandas提取日期的年份和月份(24Jan格式)
方法1:直接从原datetime列生成目标格式
既然你的timestamp列已经是datetime类型,不需要先转成带日期的格式再提取,直接用strftime指定%y%b格式就能一步得到结果:
da['year_month'] = da['timestamp'].dt.strftime("%y%b")
执行后会直接生成24Jan这种符合预期的结果,效率更高且避免后续字符串操作的潜在问题。
方法2:从已生成的date1列提取
如果已经有了date1列(值为24Jan30这类格式),可以利用固定长度的字符串切片直接取前5位:
da['year_month'] = da['date1'].str[:5]
也可以用正则表达式提取开头的两位数字加三位月份缩写:
da['year_month'] = da['date1'].str.extract(r'^(\d{2}[A-Za-z]{3})')
内容的提问来源于stack exchange,提问作者mona
相关产品推荐
相关产品推荐

