我想在一个变量中对具有特定字符序列的行进行子集化。
例如,我想在变量历史记录中对至少有三个连续1(“111”;例如“01110”,“11111”,“01111”)的行进行子集化。
以下是一些示例数据:
id <- c(1,2,3,4,5,6,7,8,9,10)
history <- c("01110", "00001", "11111", "01111", "11011", "11100",
"00001", "10101", "11011", "10111")
(df <- data.frame(id, history))
# id history
# 1 1 01110
# 2 2 00001
# 3 3 11111
# 4 4 01111
# 5 5 11011
# 6 6 11100
# 7 7 00001
# 8 8 10101
# 9 9 11011
# 10 10 10111
在这种情况下,我想选择第1,3,4,6和10行。
答案 0 :(得分:3)
尝试
from re import sub
input = request.POST['input']
sub_pattern = {'1':"sub('pattern1','txt1',input)",
'2':"sub('pattern2','txt2',input)",
}
eval(sub_pattern['1'])