我有一个数据框,其中一列中有一系列随机的 True、False:
import pandas as pd
df = pd.DataFrame(data={'A':[True, False, True, True, False, False, True, False, True, False, False]})
df
我想要这个:(不知道如何用简单的语言解释它)
我已经尝试使用以下命令,但没有成功:
df[A].shift()
df[A].diff()
df[A].eq()
非常感谢您的帮助。 马蒂亚斯
最佳答案
IIUC,你可以尝试:
df['B'] = (df.A.shift() & ~df.A).cumsum() + 1
# OR df['B'] = (df.A.shift() & ~df.A).cumsum().add(1)
输出:
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
关于python - Pandas Dataframe 中的对 boolean 值进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68117289/