Невозможно удалить определенные символы из строки? - PullRequest
0 голосов
/ 03 мая 2020
#Loading of the .csv data from the Happy Planet Index and WHO, defining and clearing the data for RDF conversion.
hsi_data = pd.read_csv("HPI_Main.csv", sep=';')
hsi_data = hsi_data.replace(to_replace=[" ", "%"], value="", regex=True)
hsi_data = hsi_data.replace(to_replace=",", value=".", regex=True)
hsi_data = hsi_data.fillna("unknown")
pd.set_option("display.max_rows", None, "display.max_columns", None)
hsi_data.columns = hsi_data.columns.str.replace(' ', '_')
for x in hsi_data["GDP/capita"]:
    re.sub(r'$', ' ', x)
    print(x)

Весь смысл в том, чтобы удалить знак $ из данных в ВВП на душу населения и преобразовать его в целое число. Однако, кажется, что ничто не может удалить символ, ни re.sub, ни заменить или удалить, как будто это не обнаруживает его?

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Я посмотрел на данные Happy Pl anet. Проблема с заменой re заключается в том, что знак $ является специальным символом в регулярном выражении, поэтому его необходимо экранировать. Это работает:

x = " $67,646 "
z = re.sub("\\$", " ", x)
print(z)
0 голосов
/ 03 мая 2020

Если вы хотите удалить знак $ и преобразовать значение в целое число, вы можете заменить последние 3 строки приведенного выше кода следующим -

hsi_data['GDP/Capita'] = hsi_data['GDP/Capita'].str.replace('$','').astype(int)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...