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值,在这种情况下使用前向填充(ffill方法):

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

有关fillna文档,请参阅: http: //pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.fillna.html

于 2013-09-25T11:02:53.570 回答