我需要通过A列的name信息来得到B,请问用python或者R怎么操作。
1条回答 默认 最新
- chuifengde 2022-11-21 22:29关注
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
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报