我试图获取分区的年份和年份,例如“ 2018-52”或“ 2019-01” 使用pandas datatime函数时,对于'2018-12-31 19:35:59'我得到的是'2018-01'。
这似乎与NSCalendar NSDateComponents weekofYear return 1 with date 2014-12-31
有关但是我仍然希望可以用熊猫的日期时间来解决这个问题,而不会破坏weekofyear == 1
的特殊处理。
import pandas as pd
date = pd.to_datetime('2018-12-31 19:35:59')
print('%d-%d' % (date.year, date.weekofyear))
>> 2018-01
2018-52和2019-01都很好。
答案 0 :(得分:0)
这默认是星期一,作为00-53的年和周的第一个日期,您应该使用符号'U'
pd.Series(date).dt.strftime('%Y-%U')
Out[170]:
0 2018-52
dtype: object
这将把2019年的第一天变成2019-00
pd.Series(pd.to_datetime('2019-01-01 19:35:59')).dt.strftime('%Y-%U')
Out[171]:
0 2019-00
dtype: object