我有一个数据框(df),该数据框具有一个日期列(列名:sale_date),该列以以下格式存储数据
dd/mm/yy hh:mm:ss
我正在尝试将其转换为yyyy-mm-dd hh:mm:ss。尝试使用以下方法,但是仍然无法将其转换为所需的格式。
df['sale_date'] = pd.to_datetime(df['sale_date'])
任何人都可以协助转换此日期列的格式。谢谢
答案 0 :(得分:3)
如果您知道自己的列中的格式将保持一致,则可以将其传递给to_datetime
:
df['sale_date'] = pd.to_datetime(df['sale_date'], format='%d/%m/%y %H:%M:%S')
如果您的格式不一定一致,但在每种情况下确实都有前一天,那么使用dayfirst=True
可能就足够了,尽管在不查看数据的情况下很难说:
df['sale_date'] = pd.to_datetime(df['sale_date'], dayfirst=True)
答案 1 :(得分:3)
您可以这样做:
df['sale_date'] = pd.to_datetime(df['sale_date'], format='%d/%m/%y %H:%M:%S').dt.strftime('%Y-%m-%d %H:%M:%S')
输入:
sale_date
0 04/12/10 21:12:35
1 04/12/10 21:12:30
输出:
sale_date
0 2010-12-04 21:12:35
1 2010-12-04 21:12:30