IIU C, вы можете взорвать свой df и затем отобразить значения, затем повторно применить groupby вдоль индекса, чтобы получить ваши значения.
обратите внимание, что ваш список может быть строкой, поэтому я добавил буквальный метод eval из библиотеки ast.
причина, по которой карта здесь не сработает, заключается в том, что вы применяете ее в виде списка, когда вам нужно применить его последовательно или поэлементно с помощью apply.
from ast import literal_eval
df["Label_Map"] = (
df["Label_ID"]
.apply(literal_eval) # remove if not needed.
.explode()
.map(label_map)
.groupby(level=0)
.agg(list)
)
print(df)
Name Label_ID Label_Map
0 Project1 [1] [blue]
1 Project2 [3,5] [green, large]