I have an array that looks like this:
a = ['UCI_99648;102568', 'UCI_99648;102568', 'UCI_99648;102568;99651', 'UCI_99651', 'UCI_99652', 'SIB_99658;102568;506010;706080', NaN]
我想知道有多少刺只有一个数字,比如
UCI_99651
,UCI_99652
所以,预期结果是2。
我怎么能在python中做到这一点。
注意:我的实际数据非常大,数字可以是任何东西,如示例中所述,可能包含丢失的值。
最佳答案
假设所有字符串的结构都遵循上述示例的结构,则如下所示的列表理解将起作用:
l = ['UCI_99648;102568', 'UCI_99648;102568', 'UCI_99648;102568;99651',
'UCI_99651', 'UCI_99652', 'SIB_99658;102568;506010;706080', 'NaN']
[i for i in l if ';' not in i and i != 'NaN']
输出
['UCI_99651', 'UCI_99652']