使用先前计算的值

时间:2015-11-15 20:28:44

标签: python numpy pandas dataframe

我有以下输入DataFrame:

> df = pandas.DataFrame({'x': [1, 6, 8, 5, 2, 6, 12]})
> df
    x
0   1
1   6
2   8
3   5
4   2
5   6
6  12

我想创建列y,以便:

y[i] = 0 if x < 4

如果y[i] = 1

,请

x > 6 如果y[i] = y[i - 1]

,则

4 <= x <= 6

因此,通过上面的示例,输出将是:

    x  y
0   1  0
1   6  0
2   8  1
3   5  1
4   2  0
5   6  0
6  12  1

最好的方法是什么?一个简单的apply()似乎不起作用,因为我没有找到一种方法来引用apply()创建的列中先前计算的值。

1 个答案:

答案 0 :(得分:1)

您可以使用np.select,然后使用.fillna

website.de