Pandas dataframe, если регистр основан на предыдущих элементах - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь создать следующий «алгоритм»

df['x'] = np.where(sum(df['x'][i-1],10)>0, 5, 10)

Идея здесь состоит в том, что если скользящая сумма последних 10 элементов, начиная с предыдущего, положительна, то 5 или 10.Я ищу решение в стиле фрейма данных без циклов.

1 Ответ

0 голосов
/ 01 октября 2018
df["previous"] = df.x.shift(1)
df["previous_rolling_sum"] = df.previous.rolling(2).sum()
df['x'] = np.where(df["previous_rolling_sum"]>0, 5, 10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...