我对numpy
和pandas
相当陌生,假设我有一个2D numpy数组,我需要删除第二个值仅包含字母'A'
、'C'
、'T'
、'G'
和'N'
的所有行
file =
[['id' 'genome'],
['0' 'ATGTTTGTTTTT'],
['1' 'ATGTTTGTXXXX'],
['2' 'ATGDD2GTTTTT']
]
所以过滤后我可以得到这个
[['id' 'genome'],
['0' 'ATGTTTGTTTTT']]
我想对每个字符逐个进行检查的循环执行3次,但当我有500行时,速度太慢了
Tags:
使用^{} 表示值,使用
^
表示开始,使用$
表示字符串结束:其他答案可能更有效,因为它们使用本机功能。如果您使用Python更方便,那么可以使用map执行过滤
最后一行:
x
,使用函数re.sub('[ACTGN]+', '', x) == ''
''
替换已知的字符后,如果字符串为空,则我们希望保留该行李>这种方法的优点是,您可以在这些值上使用任何python代码
另一个选项是
str.match
,模式与@jezrael的答案相同:此外,我们还可以检测
str.contains
上带否定的非法字符:相关问题 更多 >
编程相关推荐