入力 a と b を使用して以下の出力を取得する効率的な方法 (可能であればループ/反復なし) を探しています。a は乱数の配列、b はリセット ポイントを定義する配列です。
a = pd.DataFrame([2, 5, 4, 1, 6, 6, 4, 7])
b = pd.DataFrame([1, 0, 0, 1, 0, 0, 1, 0])
出力:
[2, 2, 2, 1, 1, 1, 4, 4]
入力 a と b を使用して以下の出力を取得する効率的な方法 (可能であればループ/反復なし) を探しています。a は乱数の配列、b はリセット ポイントを定義する配列です。
a = pd.DataFrame([2, 5, 4, 1, 6, 6, 4, 7])
b = pd.DataFrame([1, 0, 0, 1, 0, 0, 1, 0])
出力:
[2, 2, 2, 1, 1, 1, 4, 4]
b
ブール配列として単純にインデックスを付けてから、NaN
値を埋めることができます。この場合は、 forward fill (ffill
メソッド) を使用します。
a[b.astype(bool)].fillna(method='ffill')
ドキュメントについては、http: //pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.fillna.htmlfillna
を参照してください。