如何使用Pandas DataFrame计算字符串中最长连续的连续'0'和数字'1'

Nab*_*zir 2 python dataframe pandas

我想做的是使用pandas dataframe计算字符串中最长的连续'0'两侧是数字'1'

这是我的数据集

Id     label
1          1
2         11
3        101
4      10101
5       1001
Run Code Online (Sandbox Code Playgroud)

这是我的预期输出

Id     label   result
1          1        0
2         11        0
3        101        1
4      10101        1
5       1001        2
Run Code Online (Sandbox Code Playgroud)

Nag*_*ran 5

您可以尝试将字符串相关的操作与split和count一起使用

将列转换为字符串->然后用'1'分割并计算最大值

df['result'] = df.label.astype(str).str.split('1').apply(lambda x: len(max(x)))
Run Code Online (Sandbox Code Playgroud)

出:

   Id      label  result
0   1   1         0
1   2   11        0
2   3   101       1
3   4   10101     1
4   5   1001      2
Run Code Online (Sandbox Code Playgroud)