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

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

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

Идея здесь в том, что если скользящая сумма последних 3 элементов, начиная с предыдущего, положительна, то 5 или 10.Я ищу решение стиля фрейма данных без циклов.Внимание: df ['x'] не существует ранее;это новый столбец.Таким образом, результат должен быть таким:

x
5
5
5
10
10
.
.
.
10

1 Ответ

0 голосов
/ 01 октября 2018

Вы можете использовать функцию прокрутки, доступную в Pandas.

df.loc [df ['column_you_want_to_use_for_rolling']. Rolling (3) .sum ()> 0, 'x'] = 5

Вы можете изменить условия в соответствии с вашими требованиями.

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