在Pandas栏中为数字添加字母

时间:2019-12-04 15:04:15

标签: python excel pandas

我需要通过以下方式在熊猫的一系列数字中添加字母:

  1. 在一栏中我有[1,1,1,2,2,3,3,3,3]

  2. 我需要再获得一列[1a,1b,1c,2a,2b,3a,3b,3c,3d]

在Excel中,通过应用以下公式即可完成

=if(A2=A1),(A2&(CHAR(Code(right(B1,1))+1))),(a2&"a"))

我想知道这种Excel方法是否可以在Pandas中复制。

1 个答案:

答案 0 :(得分:4)

如果您确定重复的次数不超过字母表中的字母,则可以执行以下操作:

s = pd.Series([1,1,1,2,2,3,3,3,3] )

letters = np.array(list('abcdefgh'))

s.astype(str) + letters[s.groupby(s).cumcount()]

输出:

0    1a
1    1b
2    1c
3    2a
4    2b
5    3a
6    3b
7    3c
8    3d
dtype: object