簡體   English   中英

有沒有一種pythonic的方法來替換字典中的nan值?

[英]Is there a pythonic way to replace nan values from dictionary?

我想替換字典中的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值?

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}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM