Pandas date-time - сложение / вычитание (дни, месяцы, годы) - PullRequest
0 голосов
/ 26 апреля 2019

как я могу добавить количество месяцев в каждом диапазоне дат панд?

причина, по которой мне это нужно, в том, что у меня есть список csv-файлов со следующим соглашением об именах:

2013-09-18.csv
2013-10-16.csv
2013-11-20.csv
2013-12-18.csv

и для каждой даты в нижнем диапазоне дат панд мне нужно проверить, существует ли соответствующий файл (дата + 4 месяца) в следующей логике.

, если сегодняшняя дата следующая:

Date 2013-06-16 (days dont matter)

тогда мне нужно проверить, существует ли следующий файл (дата + 4 месяца):

2013-10-16.csv

и затем "делать вещи"

Я испробовал несколько подходов, включая приведенные ниже, но безуспешно.

import pandas as pd

datelist = pd.date_range(pd.datetime(year = 2012, month = 6, day = 15), pd.datetime.today()).tolist()
df = pd.DataFrame(datelist)

#print(df.head())

for date in df.iteritems():
  #print(date)
  print(date.offsets.MonthOffset(4))
  print(date + pd.datetime(year = 0, month = 4, day = 0))

1 Ответ

1 голос
/ 26 апреля 2019

Вы можете использовать следующий код, чтобы добавить 4 месяца.

from datetime import timedelta

for date in df[0]:
    print(date+timedelta(days=4*365/12))

или вы можете использовать это, чтобы изменить фрейм данных, добавив 4 месяца.

df.apply(lambda x:x+timedelta(days=4*365/12)

См. этоответ чтобы добавить месяцы напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...