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

时间:2018-09-08 04:05:45

标签: python pandas

我想根据索引值将数据框的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列表吗?

df_accts

    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 个答案:

答案 0 :(得分:1)

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

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