2017-07-28 11 views
-1

私は、データフレーム内のエントリの一部を置き換えるために辞書を使用しています:パンダ:辞書から完全一致文字列を置き換え

energy['Country'] = energy['Country'].replace(dict1, regex=True)

df.replace()を使用して

dict1 = { 
    "Republic of Korea": "South Korea", 
    "United States of America": "United States", 
    "United Kingdom of Great Britain and Northern Ireland": "United Kingdom", 
    "China, Hong Kong Special Administrative Region": "Hong Kong" 
} 

は、ほとんどの仕事を達成

しかし、私は関数がすべての文字列の一致を置き換えていることに気づき、置換機能をの完全な文字列に一致させたいのですが、のようになりました。

"Democratic People's Republic of Korea" miss-cleaned as "Democratic People's South Korea"

私はすでに辞書に正規表現を使用しようとしましたが、動作しないようです。

前もって感謝します。

+0

@Wiktor私はあなたが参照する答えに従おうとしたが、これを動作させることができなかったので、これは重複した質問ではないと私は言います。一方、私の質問が非正規表現の方法を使って答える限り、それは正規表現と関連しています。上級ユーザーのために、さまざまな方法から洞察を得るのは簡単ですが、それは私のような初心者にとっては必ずしもそうとは限りません。 StackOverflowを静かな場所に保ちましょう。よろしく。 – Camilo

答えて

2

完全置換を指定するには、regex=Trueを削除してください。

+0

完璧に動作します。なぜ私にヒントを教えてもらえますか?私は 'pd.replace()'のドキュメントを読んだが、 'regex'オプションは理解していなかった。 – Camilo

+0

私の理解では、regex = Trueを指定すると、入力は正規表現として期待されます。 reでは、文字列全体が一致するとは見えません。 –

関連する問題