I have the following
a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362'], [u'NaN'], [u'NaN']]
我该如何删除所有的
[NaN]
,以得到以下结果:a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362']]
Thank You
I have the following
a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362'], [u'NaN'], [u'NaN']]
[NaN]
,以得到以下结果:a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362']]
Thank You
使用math.isnan
来检查数字是否为 NaN
:
>>> NaN = float('nan')
>>> import math
>>> math.isnan(1)
False
>>> math.isnan(NaN)
True
使用列表推导式:
>>> [xs for xs in a if not any(math.isnan(x) for x in xs)]
[[1], [1], [2], [2], [2], [3], [3]]
根据问题编辑更新:
>>> a = [[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362'], [u'NaN'], [u'NaN']]
>>> [x for x in a if x != [u'NaN']]
[[u'63764'], [u'63764'], [u'63764'], [u'70272'], [u'98362']]