0
カラム(Col1
)の連続したパンダデータフレーム行で満たされる最小基準(0.6)をチェックしたいシナリオがあります。これは開始値が少なくとも(0.7)すなわち:すなわちパンダ複数の最小連続基準を確認する
Col1
0.3
0.5
0.55
0.8 = true
0.65 = true
0.9 = true
0.61 = true
0.3
0.6
0.67
0.74 = true
0.63 = true
0.61 = true
値が少なくとも0.7である場合、または値が少なくとも0.6であり、前の値は、第一と少なくとも0.6である場合に、チェックがTrue
あろう連続系列の値は少なくとも0.7である。
これは非常に大きなデータセットから実行されるため、効率的である必要があります。私はshift()
で何かがうまくいくと思っています...しかしそれはかなり正しいとは言えません。
非常に賢い!ありがとうございました! – cwse
「チェック」という新しい列を作成せずに、このチェックロジックをcol1の選択条件としてどのように使用できますか?私。 df.col1.loc(...はあなたのチェック基準に合っています...)。可能であれば、.loc()を使用したいと思います。 – cwse
'df.Col1 [df.check]'を実行してサブセットを作成し、チェック列を削除します。何らかの理由で実際に新しい列を作成したくない場合は、 's = pd.Series([np.nan] * df.shape [0]、index = df.index); df.Col1.loc [s.where(df.Col1 <0.7、True).where(df.Col1> 0.6、False).ffill()。fillna(False).astype(bool)] ' – Psidom