【问题标题】:Dictionary encoding in pythonpython中的字典编码
【发布时间】:2019-11-20 19:43:51
【问题描述】:

大家好,我是 python 和编码的新手。

我想对以下药物进行分组(ICD10 编码):

A00 - B99    1
C00 - D49    2
D50 - D89    3
E00 - E89    4

我创建了映射字典,如下所示:

dict_ICD_10 = {"A":1,"B":1,"C":2,"D":2,"E":3}

但无论如何这看起来不正确,因为 D50 - D89 属于 3 类,但根据我的编码,它属于 2 类。 我从早上开始就挠头,但无法弄清楚。有没有办法从不同的方式进行这种编码。

提前致谢

【问题讨论】:

    标签: python pandas dictionary encoding icd


    【解决方案1】:

    假设这些始终是 3 位数字,您可以利用字母数字排序,并编写如下内容:

    classes = (
        ('A00', 'B99', 1),
        ('C00', 'D49', 2),
        ('D50', 'D89', 3),
        ('E00', 'E89', 4),
    )
    
    def get_class(code):
        for low, high, cls in classes:
            if low <= code <= high:
                return cls
        return None
    

    请注意,如果不匹配,这将返回 None,并且您可能还希望首先强制执行有效的 3 字符代码(例如 get_class('A1') 返回 1,但可能不应该)。此外,get_class('D90') 返回None,但可能不是很明显为什么(尽管在那个领域可能很明显)。根据应用程序,如果代码位于这些“漏洞”之一之间,您可能需要做一些不同的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 2021-05-03
      • 1970-01-01
      相关资源
      最近更新 更多