Не для точек. Я немного смущен, это не то, что вы делаете, просто в основном следующее:
Код:
from datetime import datetime, timedelta
now = datetime.now()
print now.strftime("%Y-%m")
month_ago = now.replace(day=1) - timedelta(days = 1)
print month_ago.strftime("%Y-%m")
months_ago = month_ago.replace(day=1) - timedelta(days = 1)
print months_ago.strftime("%Y-%m")
Выход:
2015-11
2015-10
2015-09
выше не может быть идеальным ответом, но вы можете заменить любой datetime
для now
и это даст вам в основном текущий и два последних месяцы. При необходимости отрегулируйте.
EDIT:
Вы можете даже сделать шаг вперед и просто создать функцию, которая позволяет указать номера месяцев назад или использовать собственную дату.
from datetime import datetime, timedelta
def last_n_months(num_of_months, start_date=datetime.now(), include_curr=True):
f = "%Y-%m"
curr = start_date
if include_curr:
yield curr.strftime(f)
for num in range(num_of_months):
curr = curr.replace(day=1) - timedelta(days=1)
yield curr.strftime(f)
# This month and last 12 months.
print [m for m in last_n_months(12)]
# ['2015-11', '2015-10', '2015-09', '2015-08', '2015-07', '2015-06', '2015-05', '2015-04', '2015-03', '2015-02', '2015-01', '2014-12', '2014-11']
# Last 12 months only.
print [m for m in last_n_months(12, include_curr=False)]
# ['2015-10', '2015-09', '2015-08', '2015-07', '2015-06', '2015-05', '2015-04', '2015-03', '2015-02', '2015-01', '2014-12', '2014-11']
# Last 12 months from custom date, exclude custom date.
d = datetime(2012, 6, 1)
print [m for m in last_n_months(12, d, False)]
# ['2012-05', '2012-04', '2012-03', '2012-02', '2012-01', '2011-12', '2011-11', '2011-10', '2011-09', '2011-08', '2011-07', '2011-06']
Вы не пытаетесь пройти серию, когда функция подписи принимает строку или DATETIME, как значение: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.date_range. html – EdChum
Я использовал этот пост в качестве ссылки, где увидел серию (использовать. map) http://stackoverflow.com/questions/19105976/get-mm-dd-yyyy-from-pandas-timestamp –