shift()の使い方について
python初心者です。よろしくお願いします。
下記は正常に動くのですが、
df['ud_flag'] = df.apply(lambda x : 1 if x.p == 1 else(-1 if x.p == -1 else 0),axis=1)
udのフラグとして、1又は-1の値のみにしたい。
つまり、udが0値の部分を、前回の1、又は-1のままとしたいので、下記のように修正するとエラーになります。
df['ud_flag'] = df.apply(lambda x : 1 if x.p == 1 else(-1 if x.p == -1 else x.p.shift(1)),axis=1)
エラー内容
AttributeError: ("'int' object has no attribute 'shift'", 'occurred at index 0')
データ
ud ud_flag
0
0
1
0
0
-1
0
1
0
0