Как мне преобразовать символ внутри фрейма данных в число с плавающей точкой в ​​python? - PullRequest
2 голосов
/ 18 апреля 2019

Я новичок в Python и работаю над манипулированием строками

У меня есть фрейм данных

df['Installs']
Out[22]: 
0           10,000+
1          500,000+
2        5,000,000+
3       50,000,000+
4          100,000+
5           50,000+

Как мне удалить "+" и преобразовать строку в df в float?

Мой ввод:

df ['Installs'] = df ['Installs']. Str.replace ('+', '', regex = True) .astype (float)

Однако я получаю сообщение об ошибке:

ValueError: could not convert string to float: '10,000'

Как я могу отредактировать мой код так, чтобы в качестве выходных данных я получил 10 000,0 и т. Д. Для других значений вместо 10 000 +

1 Ответ

1 голос
/ 18 апреля 2019

Используйте Series.str.replace с , и + для очистки string:

df['Installs'] = df['Installs'].str.replace('[,+]','').astype(float)
#alternative
#df['Installs'] = df['Installs'].replace('[,+]','', regex=True).astype(float)
print (df)
     Installs
0     10000.0
1    500000.0
2   5000000.0
3  50000000.0
4    100000.0
5     50000.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...