0

入力 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]
4

1 に答える 1

7

bブール配列として単純にインデックスを付けてから、NaN値を埋めることができます。この場合は、 forward fill (ffillメソッド) を使用します。

a[b.astype(bool)].fillna(method='ffill')

ドキュメントについては、http: //pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.fillna.htmlfillnaを参照してください。

于 2013-09-25T11:02:53.570 に答える