【问题标题】:What is the best way to create a dictionary using unique column values, and the corresponding range?使用唯一列值和相应范围创建字典的最佳方法是什么?
【发布时间】:2021-11-21 12:35:14
【问题描述】:

我正在尝试创建一个字典,其中键是按字母顺序排列的列的唯一值,而值是范围的值。

例如,如果我有一个名为“States”的列,我们希望它有 50 个唯一值,那么将有 50 个键,每个键都包含一个状态。我希望第一个键对应的键为 1,最后一个键为 50。

字典看起来像这样:{'AL':1, 'AK':2, .... 'WV':49, 'WY':50}

我尝试了以下方法-

mapper = {df.Statee.unique().tolist()[i]:i for i in range(1, len(df.State.unique().tolist()+1))}

但这不起作用。

【问题讨论】:

    标签: python pandas dictionary dictionary-comprehension


    【解决方案1】:

    我觉得这样的东西最易读:

    uniqs = df.State.unique()
    mapper = {k:v+1 for v, k in enumerate(uniqs)}
    

    【讨论】:

    • 我怎么没想到使用枚举!?这很完美。谢谢。
    • 熊猫就是这样。它让你误以为你需要 .very_special().loc[undreadable,:cl::ever]_method() ;) 随意接受 :)
    猜你喜欢
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    相关资源
    最近更新 更多