2017-02-09 3 views
6

I持って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

ループと繰り返しを使用せず、プレーンなパンダの概念のみを使用することは可能ですか?

、つまり私の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 

また、これは単なるテストの例があり、 MY df文字列の数百万行が含まれている場合があり、そのために私DF2は、 は何私は上に行くことができる最も効果的な解決の道だろうか?多くの可能な解決策の

答えて

2

ワン:

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 
+0

'DESCRIBE'も触れています。 – Zero

+0

@JohnGalt、良い点、ありがとう!これは今や固定されているはずです – MaxU

+0

巨大なデータセットのための@MaxU、文字列の百万の行、そしてdf2の中でも これは良い解決策でしょうか? – Shubham

関連する問題