我的数据集如下所示:

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'})

但它不起作用

推荐答案

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

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

Python相关问答推荐

Pandas数据帧处理Pandas表中Json内的嵌套列表以获取后续Numpy数组

Python在通过Inbox调用时给出不同的响应

如何使用scikit-learn Python库中的Agglomerative集群算法以及集群中声明的对象数量?

如何对行使用分段/部分.diff()或.pct_change()?

如何判断LazyFrame是否为空?

如何终止带有队列的Python进程?+ 队列大小的错误?

使用Ubuntu、Python和Weasyprint的Docker文件-venv的问题

如何通过多2多字段过滤查询集

将HTML输出转换为表格中的问题

我从带有langchain的mongoDB中的vector serch获得一个空数组

对某些列的总数进行民意调查,但不单独列出每列

对整个 pyramid 进行分组与对 pyramid 列子集进行分组

什么相当于pytorch中的numpy累积ufunc

如何让程序打印新段落上的每一行?

"使用odbc_connect(raw)连接字符串登录失败;可用于pyodbc"

对所有子图应用相同的轴格式

如何在Python数据框架中加速序列的符号化

Python Pandas获取层次路径直到顶层管理

如何在海上配对图中使某些标记周围的黑色边框

Python—为什么我的代码返回一个TypeError