データフレームを反復するときに前の行を参照する簡単な方法はありますか? 次のデータフレームでは、列 B がいつ 1に変化し、-1 に変化するA > 1
まで 1 のままにしたいと考えA < -1
ています。
In [11]: df
Out[11]:
A B
2000-01-01 -0.182994 0
2000-01-02 1.290203 0
2000-01-03 0.245229 0
2000-01-08 -1.230742 0
2000-01-09 0.534939 0
2000-01-10 1.324027 0
これは私がやろうとしたことですが、明らかにインデックスから 1 を引くことはできません:
for idx,row in df.iterrows():
if df["A"][idx]<-1:
df["B"][idx] = -1
elif df["A"][idx]>1:
df["B"][idx] = 1
else:
df["B"][idx] = df["B"][idx-1]
私も使ってみget_loc
ましたが、完全に迷子になりました。非常に簡単な解決策が欠けていると確信しています!