问题
我有以下 Pandas dataframe:
data = {
'ID': [100, 100, 100, 100, 200, 200, 200, 200, 200, 300, 300, 300, 300, 300],
'value': [False, False, True, False, False, True, True, True, False, False, False, True, True, False],
}
df = pandas.DataFrame (data, columns = ['ID','value'])
我想获取以下分组:
- 分组1:对于每个ID,获取该ID的第一个True行之前的所有False行
- 分组2:对于每个ID,获取该ID的最后一个True行之后的所有False行
- 分组3:所有True行
可以使用Pandas完成吗?
我的尝试
我尝试过:
group = df.groupby((df['value'].shift() != df['value']).cumsum())
但是这会返回一个不正确的结果。
True
之间是否曾经出现过False
? - Quang Hoang