2 回答

TA貢獻1789條經驗 獲得超10個贊
您不能將日期和數字相加,date+4因為誰知道這是哪個單位4h,, 4d, ...?
您可以使用datetime.timedelta,如果您的意思是,這是一個示例days
from datetime import timedelta
end_date = (date + timedelta(days=4)).strftime("%Y-%m-%d")
# ...
date = date + timedelta(days=3)

TA貢獻1797條經驗 獲得超4個贊
既然你已經在使用 Pandas,為什么還要麻煩導入其他東西呢?你可以做:
import pandas as pd # your code
date = pd.date_range('2004-01-01', '2018-01-01', freq="AS") # your code
freq = 'D' # 'H' for hours, etc.
date = date + pd.Timedelta(3, unit=freq) # Perform the action
print(date)
輸出(與azro的答案相同):
DatetimeIndex(['2004-01-04', '2005-01-04', '2006-01-04', '2007-01-04',
'2008-01-04', '2009-01-04', '2010-01-04', '2011-01-04',
'2012-01-04', '2013-01-04', '2014-01-04', '2015-01-04',
'2016-01-04', '2017-01-04', '2018-01-04'],
dtype='datetime64[ns]', freq=None)
使用這種方法的另一個原因是,您可能會發現自己處于向日期動態添加內容的情況,例如在方法內部,并且您將單位作為參數傳遞。
如果您使用的是timedelta(days=3),您將無法更改其他任何內容(小時、分鐘等),但只有幾天!
添加回答
舉報