Как вычесть индекс datetime по серии чисел в Pandas? - PullRequest
0 голосов
/ 12 июля 2020

У меня есть DataFrame, похожий на следующий, и я хочу вычесть DateTimeIndex по числам в столбце Day_Count.

import pandas as pd

x = pd.DataFrame(np.arange(1,14), index = pd.date_range('2020-01-01', periods = 13, freq= 'D'), columns = ['Day_Count'])

                Day_Count
2020-01-01          1
2020-01-02          2
2020-01-03          3
2020-01-04          4
2020-01-05          5
2020-01-06          6
2020-01-07          7
2020-01-08          8
2020-01-09          9
2020-01-10         10
2020-01-11         11
2020-01-12         12
2020-01-13         13

Итак, ожидаемые результаты должны иметь тот же DateTimeIndex 2019-12- 31 (например, 01.01.2020 минус один день, 02.01.2020 минус 2 дня и т. Д.). Я попробовал следующий код, но он не работает.

from dateutil.relativedelta import relativedelta
x.index = x.index - relativedelta(days = x.Day_Count)

Пожалуйста, помогите с этим. Заранее спасибо.

1 Ответ

0 голосов
/ 12 июля 2020

Попробуйте этот код и посмотрите, даст ли он ожидаемый результат.

df.index = df.index - pd.to_timedelta(df['Day_Count'],unit='day')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...