我需要通过A列的name信息来得到B,请问用python或者R怎么操作。
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