计算一个值的实例并忽略该值中的连续重复

2024-04-23 23:17:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有一列(pos)的df

       pos      
0      d  
1      V  
2      V      
3      n   
4      V  
5      b

我想在每次出现时计算值V,如果它出现在连续的行中,则只计算一次,这样会产生一个新列(V\u count),如下所示:

       pos      v_count
0      d           0
1      V           1
2      V           0     
3      n           0   
4      V           1
5      b           0

关于如何实现这一点有什么想法吗

谢谢!:)


1条回答
网友
1楼 · 发布于 2024-04-23 23:17:13

当且仅当在一行中得到'V'而不是在前一行中得到'V'时,才需要1。因此,您可以:

df['v_count'] = ((df['pos']=='V')&(df['pos'].shift()!='V')).astype('int')

正如预期的那样:

  pos  v_count
0   d        0
1   V        1
2   V        0
3   n        0
4   V        1
5   b        0

相关问题 更多 >