代码之家  ›  专栏  ›  技术社区  ›  diogenes

使用Pandas将数字(索引值)转换为字母值

  •  0
  • diogenes  · 技术社区  · 7 年前

    我想把数据帧的id转换成一个基于索引值的字母列表。

    然后我需要将这个“alpha”值应用到另一个数据帧,其中包含将要列出的数据。

    因此,与显示客户id号的数据不同:

    2011-05-13  #483 ....
    2011-05-13  #483 .... 
    2011-05-13  #553 ....
    2011-05-13  #555 ....
    

    使用此列表索引:

    #483 - Client 1 
    #551 - Client 2
    #553 - Client 3
    #554 - Client 4
    #555 - Client 5
    

    所以我希望数据输出是这样的:

    2011-05-13  #A  ....
    2011-05-13  #A  ....
    2011-05-13  #C  ....
    2011-05-13  #D  ....
    

    #A - Client 1 
    #B - Client 2
    #C - Client 3
    #D - Client 4
    #F - Client 5
    

    我使用的是Pandas,这是客户端数据帧。我可以根据索引创建alpha列表吗?

    数据框账户

        id   client        
    0  483  Client 1    
    1  551  Client 2     
    2  553  Client 3   
    3  554  Client 4     
    4  555  Client 5     
    

    每个报告将有1到15个客户,所以不必担心AA或BB之类的问题。

    非常感谢。

    1 回复  |  直到 7 年前
        1
  •  2
  •   DYZ    7 年前

    首先,创建一个将客户端映射到字母的字典:

    import string
    d = dict(zip(df_acts['client'].unique(), string.ascii_uppercase))
    

    然后,用此处和任何其他数据帧中的相应字母替换客户机:

    df_acts['client'] = df_acts['client'].replace(d)
    #    id client
    #0  483      A
    #1  551      B
    #2  553      C
    #3  554      D
    #4  555      E