是否可以轻松删除Python集合对象的NaN值?鉴于NaN值不等于任何值(并且float('nan') is float('nan')
也是False
),您可以在Set中结束许多NaN值。从集合中删除NaN值
>>> a = set((float('nan'), float('nan'), 'a'))
>>> a
{nan, nan, 'a'}
我可以拿出它来定义像math.isnan功能最好的,但毕竟是宽容的非浮动类型,如:
def my_isnan(x):
try:
return math.isnan(x)
except TypeError:
return False
然后你就可以使用一组类似的理解这样的:
>>> {x for x in a if not my_isnan(x)}
{'a'}
把NaN的一组中的第一个地方是一个坏主意。他们违背了一套建立在这个基础上的假设。 – user2357112
这是什么问题? –
@ValentinLorentz也许以问号结尾的句子? –