как узнать дату n-дня до месяца - PullRequest
0 голосов
/ 12 июня 2018

Предположим, у меня есть датафрейм, в первом столбце которого указана дата торговли акциями.Для удобства я представляю дату с номером.

data = pd.DataFrame({'date': [1,2,3,1,2,3,4,1,2,3],
                     'value': range(1, 11)})

У меня есть другой фрейм данных, который содержит дату monthend.Так что сначала я могу получить строку monthend из таких данных:

   date value
2  3.0  3.0
6  4.0  7.0
9  3.0  10.0

Я хочу получить данные за n дней до monthend, например, за 1 день до

   date value
1  2.0  2.0
5  3.0  6.0
8  2.0  9.0

Как мне это написать.

1 Ответ

0 голосов
/ 12 июня 2018

Я использую cumsum с groupby

df1=data.groupby(data.date.eq(1).cumsum()).tail(1)
df1
Out[208]: 
   date  value
2     3      3
6     4      7
9     3     10

df2=data.loc[df1.index-1]
df2
Out[213]: 
   date  value
1     2      2
5     3      6
8     2      9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...