首页 > 解决方案 > 遍历 pandas 中的行以检查条件

问题描述

我在熊猫中有以下 DF。

+-------+-------+
| Col_A | Col_B |
+-------+-------+
|  1234 |       |
|  6267 |       |
|  6364 |       |
|   573 |       |
|     0 |       |
|   838 |       |
|    92 |       |
|  3221 |       |
+-------+-------+

Col_B 应填充 True 或 False 值。默认情况下,它是 False,但是当第一个 0 已经“看到”时,DF 的其余部分应该是 True。DF 有超过 100 000 行。

自从 Col_A 中的第一个“0”值出现以来,将 col_B 中的值设置为等于“True”的最快方法是什么?

+-------+--------+
| Col_A | Col_B  |
+-------+--------+
|  1234 | False  |
|  6267 | False  |
|  6364 | False  |
|   573 | False  |
|     0 | True   |
|   838 | True   |
|    92 | True   |
|  3221 | True   |
+-------+--------+

标签: pythonpandasdataframe

解决方案


eq_cummax

df.A.eq(0).cummax()
Out[5]: 
0    False
1    False
2    False
3    False
4     True
5     True
6     True
7     True
Name: A, dtype: bool

推荐阅读