Замена значений ячеек в кадре данных панд значениями из списка (векторизация) - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь сделать следующее:

Для каждой строки столбца «A», где выполняется условие в столбце «B», я хотел бы заменить значение в столбце «A» напервый элемент моего списка 'end', а затем удалите первый элемент, чтобы в следующей строке был выбран ранее «второй» элемент в списке.

Если бы я делал это с циклом for, это выглядело бы так, предполагая, что условием является то, что значение B в предыдущей строке равно True (B содержит только логические значения):

for i in range(1, len(data)-1):
    if data.loc[i, 'B'].shift(-1) == True:
        data.loc[i, 'A'] = end[0]
        del end[0]

Поскольку мой df огромен, я ищу векторизованную версию, но, очевидно, мой подход не работает, он всегда берет только первый элемент списка:

data['A'][data['B'].shift(-1)== True] = data['A'].apply(lambda x: end.pop(0))

Есть идеи?

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