python - 有没有一种pythonic方法来替换字典中的nan值?
问题描述
我想从我的字典中替换 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
有没有更 Pythonic 的方法来替换字典中的 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}
推荐阅读
- c# - OOP - 在实例和静态方法之间进行选择
- php - 如何用php压缩另一个网站目录上的一些文件
- java - 圆形和矩形相交代码不起作用?
- ios - 如何添加不同对象的多个节点?
- html - 为什么边距会影响我的内联块 div 是否会使用 flex-start 对齐到顶部?
- react-native - React-Native:未定义不是对象(评估'this.props = props')
- javascript - 使用 AWS-Amplify ->“放大推送”不起作用
- php - NTLM 身份验证弹出问题
- flutter - 如何将值传递给另一个类?
- ios - iOS SwiftUI:浅色/深色不会改变