我有一个有 1 列的 df
List
0 What are you trying to achieve
1 What is your purpose right here
2 When students don’t have a proper foundation
3 I am going to DESCRIBE a sunset
我有其他数据框 df2
它有 2 列
original correct
0 are were
1 sunset sunrise
2 I we
3 right correct
4 is was
我想在我的 df 中替换这些词,它出现在我的 df2 的 original
列中 并替换为 correct
列中的相应单词。 并将新字符串存储在其他数据帧 df_new
是否可以不使用循环和迭代,只使用普通的 pandas 概念?
即我的 df_new
应该包含。
List
0 What were you trying to achieve
1 What was your purpose correct here
2 When students don’t have a proper foundation
3 we am going to DESCRIBE a sunrise
这只是一个测试例子, 我的 df
可能包含数百万行字符串,所以我的 df2, 我可以继续的最有效的解决方案路径是什么?
请您参考如下方法:
许多可能的解决方案之一:
In [371]: boundary = r'\b'
...:
...: df.List.replace((boundary + df2.orignal + boundary).values.tolist(),
...: df2.correct.values.tolist(),
...: regex=True)
...:
Out[371]:
0 What were you trying to achieve
1 What was your purpose correct here
2 When students don’t have a proper foundation
3 we am going to DESCRIBE a sunrise
Name: List, dtype: object