各位大佬们,现在我处理了一个dataframe,里面时间的格式是YYYY-MM-DD,现在想把这些日期按时间顺序转换成常数以便后续计算等,一样的日期则转换的数字是一样的。求助怎么转换。
这是目前的dataframe的格式
id time
0 a 2015-10-29
1 b 2015-10-29
2 c 2017-11-01
3 d 2018-10-01
4 e 2018-10-06
5 f 2018-10-06
我想要的转换结果是:
id time
0 a 1
1 b 1
2 c 2
3 d 3
4 e 4
5 f 4
这个可以考虑计算日期到某一天的天数的差来作为这个常数。
比如通常时间戳使用当前的时间到1970年1月1日(选这一天的目的是一般情况,不会有更早的日期,所以可以让结果为正数)的时间差,因为你只要日期,不用考虑时间,
from datetime import datetime
def getdtconst(dt):
basedt = datetime(1970, 1, 1)
return (dt - basedt).days
n = getdtconst(datetime(2015,10, 29))
print(n)