python - 如何使用熊猫数据框计算最长的连续“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
解决方案
您可以尝试使用带有 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
推荐阅读
- github-actions - 在工作流级别的环境变量中使用数组?
- php - 无法理解 php 中这是什么错误
- reactjs - 尝试分派无参数异步 thunk 时,参数类型与参数不匹配
- python - Python解析xml并保存100个请求
- javascript - 使用较旧的 React 版本 15.4 - 使用 CreateRef
- wordpress - .htaccess 文件 Wordpress RewriteRule 块重新排列到顶部
- matlab - 将矩阵迭代地添加到更大的矩阵中
- postgresql - Debezium postgres incremental snapshot performance issues
- tensorflow - How to get summary graph of custom (subclass) Keras layer?
- javascript - python equivalent of javascript array destructuring