【发布时间】:2021-09-08 00:56:22
【问题描述】:
我有一个数据框,其中有一列随机的 True、False 序列:
import pandas as pd
df = pd.DataFrame(data={'A':[True, False, True, True, False, False, True, False, True, False, False]})
df
| A | |
|---|---|
| 0 | True |
| 1 | False |
| 2 | True |
| 3 | True |
| 4 | False |
| 5 | False |
| 6 | True |
| 7 | False |
| 8 | True |
| 9 | False |
| 10 | False |
我想要这个:(不知道如何用简单的话来解释)
| A | B | |
|---|---|---|
| 0 | True | 1 |
| 1 | False | 2 |
| 2 | True | 2 |
| 3 | True | 2 |
| 4 | False | 3 |
| 5 | False | 3 |
| 6 | True | 3 |
| 7 | False | 4 |
| 8 | True | 4 |
| 9 | False | 5 |
| 10 | False | 5 |
我尝试了以下命令,但没有成功:
df[A].shift()
df[A].diff()
df[A].eq()
非常感谢您的帮助。 马蒂亚斯
【问题讨论】:
-
您需要说明如何获得列
B的输出 -
您能否向我们提供更多关于 B 列中的值与布尔值之间的关系的信息?
-
无法理解预期的响应,您的意思是对于每个 True、False 组合,您增加 B 列中的计数?
-
每次出现
False值时,如果其前身是True,则将B值加一?