我有两个日期时间类型的日期功能。我想把它们之间的区别表达为int类型。我如何做到这一点:
In[]
print lcd.time_to_default
print lcd.issue_date
lcd['time_to_default']=(lcd.last_pymnt_date - lcd.issue_date)
lcd.time_to_default.head()
Out[92]:
datetime64[ns]
datetime64[ns]
0 1127 days
1 487 days
2 913 days
3 1127 days
4 1217 days
Name: time_to_default, dtype: timedelta64[ns]
我想将此系列转换为int,而不是timedelta64。
附录:我无法将其作为" .days"建议,如上面的链接假设重复。
在[] lcd.time_to_default.days
返回: 出[] '系列'对象没有属性'天'
答案 0 :(得分:1)
只需减去两个日期时间变量。这会产生timedelta类型。
例如:
In [2]: datetime.datetime.now()
Out[2]: datetime.datetime(2015, 6, 2, 0, 30, 49, 548657)
In [3]: yesterday = datetime.datetime.now() - datetime.timedelta(days=1)
In [4]: datetime.datetime.now() - yesterday
Out[4]: datetime.timedelta(1, 17, 32459)
In [5]: diff = (datetime.datetime.now() - yesterday)
In [6]: diff.days
Out[6]: 1
答案 1 :(得分:0)
试试这个,
>>> from datetime import datetime
>>> date1 = datetime(2015,6,2)
>>> date2 = datetime(2015,5,2)
>>> diff = date1 - date2
>>> print (diff.days)
31
答案 2 :(得分:0)
要从一系列timedelta64[ns]
中获取整数天数,您可以尝试(未测试):
result = np.divide(lcd.time_to_default, np.timedelta64(1, 'D'))
请参阅Time difference in seconds from numpy.timedelta64和Converting between datetime, Timestamp and datetime64。