我有一个pandas数据框中的列,其中包含以下日期:
年份,天数,月份,小时,分钟,秒数
2015-09-03 14:32:00
我想把这转换为:
年,月,日,小时,分钟,秒钟
2015-03-09 14:32:00
您可以{{link1:apply
}}一个lambda到您的日期并调用{{link2:datetime.strftime
}}:
In [168]:
# create sample df
df = pd.DataFrame({'date':['2015-09-03 14:32:00']})
df['date'] = pd.to_datetime(df['date'])
df
Out[168]:
date
0 2015-09-03 14:32:00
In [171]:
import datetime as dt
# apply strftime
df['date'] = df['date'].apply(lambda x: dt.datetime.strftime(x, '%Y-%d-%m %H:%M:%S'))
df
Out[171]:
date
0 2015-03-09 14:32:00
from datetime import datetime
datetime.strptime("2015-09-03 14:32:00", "%Y-%d-%m %H:%M:%S").strftime("%Y-%m-%d %H:%M:%S")
你可以将月份和日期进行交换,从“2019-22-02”变为“2019-02-22”。如果你只有一个日期:
pd.to_datetime("2019-22-02", yearfirst=True, dayfirst=False, format='%Y-%d-%m')
你可以将“2019-22-02”的日期替换成你的数据框的日期列。
import datetime as dt
。 - EdChum