我想创建一个具有多个条件的列,如果列'Batt'包含'Discharge'并且上一行包含'none',则将值从0开始递增1(如果没有),然后返回相同的值而没有任何递增。
Batt Disch Continous Cycle count
None 0
None 0
Discharge 1
Discharge 1
None 1
Discharge 2
Discharge 2
IIUC,您可以创建一个boolean mask
,然后使用Series.cumsum
来获得结果:
df['Continous Cycle count'] = (
(df['Batt Disch'].eq('Discharge') &
df['Batt Disch'].shift().eq('None'))
.cumsum()
)
结果:
Batt Disch Continous Cycle count
0 None 0
1 None 0
2 Discharge 1
3 Discharge 1
4 None 1
5 Discharge 2
6 Discharge 2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句