用python或者R的计数问题

我需要通过A列的name信息来得到B,请问用python或者R怎么操作。

img

import pandas as pd

df = pd.DataFrame(data = {'name': ['sus-MAPK4', 'sus-MAPK4', 'sus-MAPK4', 'sus-ME', 'sus-ME', 'sus-U2'],})
print(df)
def v(s):
    value = [s.iat[0, 0] + '-'+ f'{i:04}' for i in range(1, len(s.index.tolist()) + 1)]
    df = pd.DataFrame(data = value, columns = ['name'], index = s.index)    
    return df
df['B'] = df.groupby('name', group_keys = False).apply(v)
print(df)
--result
    name               B
0  sus-MAPK4  sus-MAPK4-0001
1  sus-MAPK4  sus-MAPK4-0002
2  sus-MAPK4  sus-MAPK4-0003
3     sus-ME     sus-ME-0001
4     sus-ME     sus-ME-0002
5     sus-U2     sus-U2-0001