有没有更快的方法来执行数据帧的条件?

时间:2018-02-02 07:22:35

标签: pandas for-loop dataframe conditional-statements

df =
Idx  Var1 Var2 Var3
0     0    3    0
1    10    0    0
2     0    0    2
3     0    3    0
4     0    0    1
5    10    0    2
6     0    1    1
7     0    0    0
8     0    3    0

例如:

  1. Var1>时开始记录VAR3
  2. 一旦开始记录,如果Var2< Var3,再次从条件1开始。
  3. 否则,继续扫描直到Var2> Var3
  4. 如果Var2> Var3,标记下来
  5. 通过整个数据框执行此过程
  6. 返回满足条件的df(所有行)
  7. 所以基本上它应该在这个例子中只返回8 0 3 00 0 3 0不是因为条件1还没有开始。 3 0 3 0不是因为2 0 0 2违反了条件2,所以它必须再次从条件1开始。

    我试过了:

    1. 直接循环df
    2. 转换为list
    3. 后循环播放
    4. 转换为array
    5. 后循环播放
    6. Iterrows& Intertuples
    7. 到目前为止,最快的方法是#2。有更快的方式吗?因为我有很多行,并听说使用熊猫矢量更快。感谢。

0 个答案:

没有答案