Pandas to\ U datetime month读取错误

2024-05-14 06:15:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框,包含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()

只返回一个值(数据中有12个)

 data['ym']

退货

 2017-01-01 00:08:00

你知道如何正确选择月份吗


Tags: to数据format类型datadatetime格式时间
2条回答

使用%Y解析YYYY%yYY年格式:

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的datetime模块:

from datetime import datetime
data['ym'] = data['ym'].apply(lambda x: datetime.strptime(str(x), format='%Y%m'))

相关问题 更多 >