от
У меня есть df с данными о запасах, и я хотел бы ввести отрицательные и положительные целые числа (с указанием дней) до и после target_date - согласно ниже: Что у меня есть (дата указатель):
date      symbol    open    high    low close   volume
12/9/1988   AAPL    1.4018  1.4107  1.3839  1.3975  11239200
12/12/1988  AAPL    1.4018  1.4107  1.375   1.375   29470000
12/13/1988  AAPL    1.375   1.3839  1.3661  1.3839  30637600
12/14/1988  AAPL    1.375   1.4286  1.375   1.4196  48325200
12/15/1988  AAPL    1.4286  1.4464  1.4018  1.4107  28142800
12/16/1988  AAPL    1.4107  1.4464  1.4018  1.4332  45872400
12/19/1988  AAPL    1.4375  1.4643  1.4286  1.4554  58581600
12/20/1988  AAPL    1.4643  1.4821  1.4511  1.4643  68546800
12/21/1988  AAPL    1.4643  1.5 1.4643  1.4911  60491200
12/22/1988  AAPL    1.4911  1.5 1.4554  1.4643  26507600
12/23/1988  AAPL    1.4643  1.4779  1.4643  1.4689  10239600
12/27/1988  AAPL    1.4643  1.4821  1.4464  1.4464  14996800
12/28/1988  AAPL    1.4464  1.4554  1.4196  1.4375  12885600
Ниже приведено представление того, что я хотел бы, где target_date это 16.12.1988:      создать столбец под названием "день"   на целевую дату (например, 16.12.1988 г.) - введите «0» в столбце «день»   в столбце «день» - до целевой даты введите от -1 до -n (длина df до даты)   в столбце «день» - после целевой даты введите от 1 до n (длина df после даты)   
date       day  symbol  open    high    low close   volume
12/9/1988   

Я рассмотрел следующий подход (найден на SO, но не могу найти источник):

lenDF = (int(len(df) / 2))
df.insert(0, 'day', range(

Это не совсем подходит для моих целей до того, как длина df до целевой даты может отличаться от целевой даты. Он не соответствует 0 в столбце «день» с target_date.

Я также попытался усечь df до и после целевой даты - но та же проблема, что и в предыдущем решении - он не соответствует '0' в столбце "день" с target_date.

df_before_target = df.truncate(before=target_date)
df_after_target = df.truncate(after=target_date)

df_before_target = len(df_before_target ) 

Спасибо за любую помощь.
    

        

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

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