Dev*_*cie 5 python numpy pandas
有一个数据框,其中包含布尔值交替的列。我想根据这些布尔变化创建增量值系列。我只想在布尔值与之前的值不同时增加。我想在没有循环的情况下执行此操作。
例如,这是数据框:
column
0 True
1 True
2 False
3 False
4 False
5 True
Run Code Online (Sandbox Code Playgroud)
我想得到这个:
column inc
0 True 1
1 True 1
2 False 2
3 False 2
4 False 2
5 True 3
Run Code Online (Sandbox Code Playgroud)
比较移位列不等于并添加累积和:
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
Run Code Online (Sandbox Code Playgroud)
细节:
print (df['column'].ne(df['column'].shift()))
0 True
1 False
2 True
3 False
4 False
5 True
Name: column, dtype: bool
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1174 次 |
| 最近记录: |