Python - равное предыдущее значение в соседнем столбце - PullRequest
0 голосов
/ 18 апреля 2020

Желаемым результатом является создание значения в столбце «Низкий» рядом с каждым значением «1» в столбце «Сигнал».

Значение «Low» должно быть предыдущим значением «Low Indi» на основе даты значения сигнала.

Как вы можете видеть, первое значение «Low» ниже равно 33. Здесь есть значение, потому что «Signal» равен «1», а предыдущее значение (против 16/04/2020) «Low Indi» 33.

import pandas as pd 
import matplotlib.pyplot as plt
import mplfinance as mpf
import numpy as np
import matplotlib.dates as mdates 
from scipy import signal
from scipy.signal import argrelextrema


data = pd.read_excel('PrevLowExample.xlsx', index_col=0, parse_dates=True)

print(data)

Это желаемый результат.

            Data  Low Indi  Signal   Low
Date                                    
2020-04-17    96       NaN     NaN   NaN
2020-04-16    42       NaN     1.0  33.0
2020-04-15    33      33.0     NaN   NaN
2020-04-14    25       NaN     NaN   NaN
2020-04-13    85       NaN     1.0  55.0
2020-04-12    77       NaN     NaN   NaN
2020-04-11    29       NaN     NaN   NaN
2020-04-10    55      55.0     NaN   NaN
2020-04-09    85       NaN     NaN   NaN
2020-04-08    57       NaN     1.0  71.0
2020-04-07    60       NaN     NaN   NaN
2020-04-06    71      71.0     NaN   NaN
2020-04-05    50       NaN     NaN   NaN

1 Ответ

0 голосов
/ 18 апреля 2020

Самый простой способ - это заполнить значения NaN и затем выполнить фильтр

data['Low'] = data['Low Indi'].fillna(method='bfill')
data.loc[data.Signal.isnull(), 'Low'] = np.nan
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...