df.replace не работает при замене значения в строке pandas данных - PullRequest
0 голосов
/ 06 марта 2020

Я попробовал следующий код для переименования «Republi c of Korea» в «Южная Корея» в кадре данных со столбцами «Страна», «Энергоснабжение», «Энергоснабжение на душу населения», «% возобновляемых источников энергии» .

import pandas as pd

energy = pd.read_excel('Energy Indicators.xls',skiprows=17, skipfooter=38)

energy=energy.drop(['Unnamed: 0','Unnamed: 1'],axis=1)

energy.columns = ['Country', 'Energy Supply', 'Energy Supply per Capita', '% Renewable']

energy['Country'] = energy['Country'].str.replace(r" \(.*\)","")

energy['Country'] = energy['Country'].str.replace(r"(\d+)$","")

energy['Country'].replace({'Republic Of Korea': 'South Korea', 'United States of America': 'United States'}, inplace=True)

Затем я тестирую его, чтобы увидеть соответствующую строку в кадре данных. Когда я ищу «Republi c of Korea», я получаю следующее:

In:
energy[energy['Country']== 'Republic of Korea']

Out:
Country Energy Supply   Energy Supply per Capita    % Renewable

164 Republic of Korea   11007000000 221 2.279353

Однако, когда я ищу «Южная Корея», ничего не может быть найдено (я просто получаю метки df).

In:
energy[energy['Country']== 'South Korea']


Out:
Country Energy Supply   Energy Supply per Capita    % Renewable

Так я не понимаю, почему не работает атрибут замены? Я должен быть в состоянии найти «Южная Корея»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...