我的“版本”列包含数据模式不一致,有些数据后面跟着逗号和日期,有些则使用“,-”模式。
df.head()17 Paperback,– 1 Nov 201618 Mass Market Paperback,– 1 Jan 199119 Paperback,– 201620 Hardcover,– 24 Nov 201821 Paperback,– Import, 4 Oct 2018
如何将日期提取到一个单独的列中?我尝试使用str.split(),但找不到特定的模式来提取。有没有其他方法可以做到这一点?
回答:
obj = df['Edition']obj.str.split('((?:\d+\s+\w+\s+)?\d{4}$)', expand=True)
或者
obj.str.split('[,–]+').str[0]obj.str.split('[,–]+').str[-1] # date