Вы можете начать с избавления от цифр и текста в скобках. После этого для всего остального, что требует нетривиальной замены, объявите карту и примените ее, используя pd.Series.replace
.
mapper = {'Korea, Rep' : 'South Korea', 'Falkland Islands' : 'Bolivia', ...}
df['Country'] = (
df['Country'].str.replace(r'\d+|\s*\(.*\)', '').str.strip().replace(mapper)
)
Достаточно просто, сделано.
Детали
\d+ # one or more digits
| # regex OR pipe
\s* # zero or more whitespace characters
\( # literal parentheses (opening brace)
.* # match anything
\) # closing brace