【问题标题】:How to remove nan key from dictionary?如何从字典中删除nan键?
【发布时间】:2020-03-11 06:19:29
【问题描述】:

我的字典有 {'A':1, 'B':2, nan:3, 'C':4}。有什么方法可以从字典中删除这个 nan 键值对。这个 nan 是浮点数据类型,其余键是字符串。

【问题讨论】:

  • 你是怎么得到这个字典的?
  • 这很简单:del d[np.nan]
  • @mind-protector 没那么简单……
  • @mind-protector,你的回答对我很有效。不要忘记import numpy as np 首先声明。

标签: python python-3.x pandas nan


【解决方案1】:

在字典理解中使用NaN != NaN 和过滤键:

d = {k: v for k, v in d.items() if k == k}

如果需要删除NonesNaNs 使用notna

d = {k: v for k, v in d.items() if pd.notna(k)}

print (d)
{'A': 1, 'B': 2, 'C': 4}

【讨论】:

  • 虽然这行得通,但我认为使用{k: v for k,v in di.items() if not math.isnan(k)} 更清楚,因为它是自记录的,k == k 方法可能需要注释
猜你喜欢
  • 1970-01-01
  • 2012-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-08
  • 2022-01-23
相关资源
最近更新 更多