【问题标题】:How does pandas to_dict deal with key np.nan and None?pandas to_dict 是如何处理 key np.nan 和 None 的?
【发布时间】:2022-12-20 04:28:22
【问题描述】:
import pandas as pd
import numpy as np

a = {np.nan: -1, None: 1}

看看a

{nan: -1, None: 1}

如果我们将它从 Series 转换回 dict:

pd.Series(a).to_dict()

我们看:

{nan: -1, nan: 1}

熊猫怎么能用两个来创建字典相同的钥匙?好吧,我想它们实际上并不相同,因为 np.nan == np.nan 的计算结果为 False。但我无法使用以下方法手动创建它:

b = {np.nan: -1, np.nan: 1}

如果我们看一下b,它会给出:

{nan: 1}

我正在努力解决这个问题,也许我错过了一些明显的事情?

有关完整代码 sn-p,请参见图片

这也表明我可以继续将键 np.nan 添加到从 pandas 系列 to_dcit 生成的字典中,但不是我手动创建的

【问题讨论】:

  • to_dict 使用的键是float("nan"),显然你可以用多个float("nan")键创建一个字典(试试d = {float("nan"): 1, float("nan"):2}),但将无法访问它们。因此,查看 float("nan") 内部结构似乎是正确的。

标签: python pandas numpy


【解决方案1】:

将熊猫导入为 pd

r={'A':{1:2,2:3,3:4},'B':{1:np.nan,2:44,3:np.nan}} 数据 = pd.(r) 甲乙 1 2 南 2 3 44 3 4 南

【讨论】:

    猜你喜欢
    • 2018-08-21
    • 2017-01-09
    • 2022-06-29
    • 2019-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2022-01-04
    相关资源
    最近更新 更多