是否可以輕鬆刪除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也許以問號結尾的句子? –