如何使用pandas.Series.dt.strftime可以做每小时映射?

时间:2017-10-18 04:40:19

标签: python pandas dataframe timestamp series

这是我的数据:

 device_create_at               
136 2014-08-27 17:29:23            
245 2015-09-06 15:46:00            
257 2014-09-29 22:26:34            
258 2014-11-05 13:02:18    

这是我的预期输出

  device_create_at                device_create_hour
136 2014-08-27 17:29:23            2014-08-27 17
245 2015-09-06 15:46:00            2015-09-06 15
257 2014-09-29 22:26:34            2014-09-29 22
258 2014-11-05 13:02:18            2014-11-05 13

据我所知,pandas.Series.dt.strftime可以做每周映射,代码就是这样

sheet2['device_create_week'] = sheet2['device_create_at'].dt.strftime('%Y-%V')

他们使用%V一周不是%W,我尝试按小时计算

sheet2['device_create_hour'] = sheet2['device_create_at'].dt.strftime('%Y-%M-%D-%H')

那是doeesn的工作

1 个答案:

答案 0 :(得分:2)

s = df.device_create_at.dt.strftime('%Y-%m-%d %H')
print(s)
136    2014-08-27 17
245    2015-09-06 15
257    2014-09-29 22
258    2014-11-05 13
Name: device_create_at, dtype: object

请注意,格式为%Y-%m-%d %Hmd

有关所有指令的更多信息,例如:%M,%m,您可以在the python documentation中找到它。