如果列是值列表,如何替换列中的值?

How to replace values in a column if column is a list of values?

我有一个如下所示的数据集:

ID Language
1 2945
2 2945, 2344
3 NaN
4 2945, 5657,2344

我希望它看起来像这样:

ID Language
1 English
2 English, Arabic
3 NaN
4 English, French, Arabic

如果我知道如何替换值:

({2945:'English',2344:'Arabic',5657:'French'})

我试过这个:

df['Language'].str.replace({2945:'English',2344:'Arabic',5657:'French'})

但是没用

我们可以尝试使用 str.replace 和 lambda 函数:

d = {2945:'English', 2344:'Arabic', 5657:'French'}
df["Language"] = df["Language"].str.replace(r'\d+', lambda m: d[int(m.group())])