我想替换字典中的nan值。 例如,有时我的字典看起来像:
{'mean': nan, 'std': nan, 'median': nan, 'sum': 0, 'average_per_day': 0.0, 'freq': 0}
现在我正在这样做:
for k, v in stats_record.items():
if math.isnan(v):
stats_record[k] = 0
还有更多的Python方式可以替换字典中的nan值吗?
答案 0 :(得分:2)
Dict-comprehension
在这里可以很方便。
import numpy as np
e = {'mean': np.nan, 'std': np.nan, 'median': np.nan, 'sum': 0, 'average_per_day': 0.0, 'freq': 0}
e = {k:v if not np.isnan(v) else 0 for k,v in e.items() }
print(e)
输出:
{'average_per_day': 0.0, 'sum': 0, 'freq': 0, 'median': 0, 'std': 0, 'mean': 0}