2017-07-28 105 views
-1

完全匹配的字符串我用字典來代替某些數據幀中的條目:熊貓:更換從字典

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" 
} 

使用df.replace()幾乎完成的工作:

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

但是,我意識到該函數正在替換每個字符串匹配,我想限制替換函數爲完整字符串匹配現在我得到不需要的替換如:

"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,那麼它會將輸入視爲正則表達式。在它不會看起來像一個完整的字符串匹配。 –