[英]How to find the longest consecutive string of values in pandas dataframe
[英]How do I count the longest consecutive '0' flanked by number '1' in is string using pandas dataframe
我想做的是使用pandas數據框計算字符串中數字'1'側面最長的連續'0'
這是我的數據集
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
拆分后得到列表長度的最大值並得到長度:
df['result'] = df['label'].astype(str).str.split('1').apply(lambda x: len(max(x, key=len)))
print (df)
Id label result
0 1 1 0
1 2 11 0
2 3 101 1
3 4 10101 1
4 5 1001 2
另一種方案:
df['result'] = df['label'].apply(lambda x: len(max(str(x).split('1'), key=str)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.