首页 > 解决方案 > 如何使用熊猫数据框计算最长的连续“0”两侧是数字“1”的字符串

问题描述

我想做我使用熊猫数据框计算最长的连续“0”两侧是数字“1”是字符串

这是我的数据集

Id     label
1          1
2         11
3        101
4      10101
5       1001

这是我的预期输出

Id     label   result
1          1        0
2         11        0
3        101        1
4      10101        1
5       1001        2

标签: pythonpandasdataframe

解决方案


您可以尝试使用带有 split 和 count 的字符串相关操作

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

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

出去:

   Id      label  result
0   1   1         0
1   2   11        0
2   3   101       1
3   4   10101     1
4   5   1001      2

推荐阅读