python – 用NaN替换字典的空值

我有一个缺少值的字典(密钥在那里,但相关的值是空的).例如,我想要下面的字典:

dct = {'ID':'', 'gender':'male', 'age':'20', 'weight':'', 'height':'5.7'}

要改为这种形式:

dct = {'ID':NaN, 'gender':'male', 'age':'20', 'weight':NaN, 'height':'5.7'}

我怎样才能以最省时的方式写出来呢?

最佳答案 您可以使用字典理解.同样如评论中所指出的,在Python中命名某些字典不是一个好习惯:

dct = {'ID':'', 'gender':'male', 'age':'20', 'weight':'', 'height':'5.7'}
dct = {k: None if not v else v for k, v in dct.items() }
print(dct)

输出:

{'ID': None, 'gender': 'male', 'age': '20', 'weight': None, 'height': '5.7'}

只需将None替换为您想要的默认值即可.

在您的问题中,您想要用NaN替换.

您可以使用以下任何一种方法:

如果您使用的是Python 2.x,或者使用Python< 3.5,则浮动(‘nan’) math 3.5用于Python 3.5 numpy.nan使用numpy

点赞