Pandas将DataFrame字符串⽇期转化成时间类型⽇期 由于业务场景的需求,这张表⾥⽇期格式与其他表不匹配,⽽且需要把⽇期向后推算1天、2天等等。
输⼊(列中数据是object格式):
date
2019-11-01 19:30
2019-11-30 19:00
# Data columns (total 1 columns):
string转date的方法# date 2 non-null object
期望输出:
1. 列datetime:datetime格式,⽅便计算。
2. 列today:时间由datetime格式,转为字符串格式。
3. 列tomorrow:时间加上1天,然后转为字符串格式。
date datetime today tomorrow
2019-11-01 19:30 2019-11-01 19:30:00 20191101 20191102
2019-11-30 19:00 2019-11-30 19:00:00 20191130 20191201
# Data columns (total 4 columns):
# date 2 non-null object
# datetime 2 non-null datetime64[ns]
# today 2 non-null object
# tomorrow 2 non-null object
Python实现代码:
import datetime
import pandas as pd
dictDate = {'date': ['2019-11-01 19:30', '2019-11-30 19:00']}
df = pd.DataFrame(dictDate)
df['datetime'] = pd.to_datetime(df['date'])
df['today'] = df['datetime'].apply(lambda x: x.strftime('%Y%m%d'))
df['tomorrow'] = (df['datetime'] + datetime.timedelta(days=1)).dt.strftime('%Y%m%d')
实现⽅法:
1. 列date,⽤pd.to_datetime,将原本date列从object格式转为datetime64[ns]格式。
2. 列today,⽤.strftime('%Y%m%d')取出年⽉⽇,把这个函数⽤apply lambda应⽤到df的这⼀列中。
3. 列tomorrow,⽤+ datetime.timedelta(days=1)加上⼀天。然后⽤.dt.strftime('%Y%m%d')取出年⽉⽇。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论