Pandas to_datetime 月份读错了
Pandas to_datetime month read incorrectly
我有一个包含 YYYYMM 格式日期的数据框(例如 201704)。
尝试将其转换为日期时间类型:
data['ym'] = pd.to_datetime(data['ym'],format="%y%m")
data['year'], data['month'] = data['ym'].dt.year, data['ym'].dt.month
给我正确的年份,但不是正确的月份:
data['month'].unique()
returns只有一个值(数据中有12个)。
data['ym']
returns
2017-01-01 00:08:00
知道如何正确 select 月份吗?
使用%Y
解析YYYY
,%y
为YY
年格式:
data = pd.DataFrame({'ym':['201704','201705','201706']})
data['ym'] = pd.to_datetime(data['ym'], format="%Y%m")
data['year'], data['month'] = data['ym'].dt.year, data['ym'].dt.month
print (data)
ym year month
0 2017-04-01 2017 4
1 2017-05-01 2017 5
2 2017-06-01 2017 6
您也可以使用 python 的日期时间模块:
from datetime import datetime
data['ym'] = data['ym'].apply(lambda x: datetime.strptime(str(x), format='%Y%m'))
我有一个包含 YYYYMM 格式日期的数据框(例如 201704)。
尝试将其转换为日期时间类型:
data['ym'] = pd.to_datetime(data['ym'],format="%y%m")
data['year'], data['month'] = data['ym'].dt.year, data['ym'].dt.month
给我正确的年份,但不是正确的月份:
data['month'].unique()
returns只有一个值(数据中有12个)。
data['ym']
returns
2017-01-01 00:08:00
知道如何正确 select 月份吗?
使用%Y
解析YYYY
,%y
为YY
年格式:
data = pd.DataFrame({'ym':['201704','201705','201706']})
data['ym'] = pd.to_datetime(data['ym'], format="%Y%m")
data['year'], data['month'] = data['ym'].dt.year, data['ym'].dt.month
print (data)
ym year month
0 2017-04-01 2017 4
1 2017-05-01 2017 5
2 2017-06-01 2017 6
您也可以使用 python 的日期时间模块:
from datetime import datetime
data['ym'] = data['ym'].apply(lambda x: datetime.strptime(str(x), format='%Y%m'))