我有这本词典:
dict_new =
{'extracted_layout': [nan, nan, nan, nan, nan, nan, nan, nan, nan, 'shyamanna layout', nan, nan, nan, nan, 'm t s layout', nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 'green glen layout', nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 'h s r layout', nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 'vikas layout', 'annaiah reddy layout', nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, 'andhra muniyappa layout', nan, nan, nan, nan, nan, 'lake city layout', nan, 'h s r layout'}
它有一个键extracted_layout
,其值在一个填充了nans的列表中。我怎么摆脱他们?
答案 0 :(得分:4)
如果nan
为浮动南,请使用math.isnan
对其进行过滤:
>>> import math
>>> nan = float('nan')
>>> nan
nan
>>> math.isnan(nan)
True
>>> math.isnan(1)
False
import math
dict_new['extracted_layout'] = [
x
for x in dict_new['extracted_layout']
if not (isinstance(x, float) and math.isnan(x))
]
答案 1 :(得分:0)
list_dict = [{"year": 1916, "age": 10},
{"year": 1826, "age": 'NaN'},
{"year": 'NaN', "age": 7}]
for my_dict in list_dict:
for k in my_dict:
if isnan(float(my_dict[k])):
my_dict[k] = 0