布尔值更改时的熊猫增量值

时间:2019-02-22 07:17:20

标签: python pandas numpy

有一个数据框,其中包含布尔值交替的列。我想基于这些布尔更改创建增量值系列。我只想在布尔值不同于先前值时增加。我想做到无循环。

示例,这是数据框:

   column
0    True
1    True
2   False
3   False
4   False
5    True

我想要这个:

 column  inc
0    True    1
1    True    1
2   False    2
3   False    2
4   False    2
5    True    3

1 个答案:

答案 0 :(得分:2)

比较移动的列不等于并添加累计和:

df['inc'] = df['column'].ne(df['column'].shift()).cumsum()
print (df)
   column  inc
0    True    1
1    True    1
2   False    2
3   False    2
4   False    2
5    True    3

详细信息

print (df['column'].ne(df['column'].shift()))
0     True
1    False
2     True
3    False
4    False
5     True
Name: column, dtype: bool