我有一个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

我想替换df2中original列中出现的df中的此类单词
并替换为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

关于python - 用其他数据框 Pandas 中的相应单词替换数据框中的字符串行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42131594/

10-14 19:06
查看更多