pandas数据帧中数据的条件重置

时间:2013-09-25 10:38:48

标签: python-2.7 pandas

我正在寻找一种有效的方法(如果可能的话,没有循环/迭代)使用输入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]

1 个答案:

答案 0 :(得分:7)

您可以使用b作为布尔数组进行索引,然后填充NaN值,在这种情况下使用前向填充(ffill方法):

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

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