Используйте функцию сдвига в функции Dataframe для панд - PullRequest
0 голосов
/ 05 сентября 2018

Я хочу создать функцию, которая сравнивает различные строки в кадре данных Pandas.
Моя текущая функция выглядит так:

def f(row):
    if row['A'].shift(1) == row['B']:
        val = 0        
    else:
        val = 1
    return val

Я получаю следующее сообщение об ошибке:

AttributeError: ("'numpy.float64' object has no attribute 'shift'", 'occurred at index 2006-02-28 00:00:00')

Я понимаю, что проблема возникает в первой строке кадра данных, потому что нет строки, которую можно сместить. Кто-нибудь знает, как переписать функцию? Любая помощь приветствуется.

1 Ответ

0 голосов
/ 05 сентября 2018

С pandas вы можете.

(~(df.A.shift()==df.B)).astype(int) # since default of shift is 1 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...