Заменить значение столбца в пандах - PullRequest
2 голосов
/ 17 апреля 2019

У меня есть столбец «Высота» в наборе данных, как показано ниже.

      Height
0       6-2
1       6-6
2       6-5
3       6-5
4      6-10
5       6-9
6       6-8
7       7-0

и его тип dtype: object Теперь я хочу преобразовать его в число с плавающей запятой, т. Е. 6,2, 6,6. Я пытался использовать метод замены , но он не работал. Можете ли вы предложить мне, как это сделать? Я новичок в Пандах.

Ответы [ 2 ]

4 голосов
/ 17 апреля 2019

Используйте Series.str.replace для замены подстрок и преобразования в числа с плавающей запятой:

df['Height'] = df['Height'].str.replace('-','.').astype(float)

Или используйте Series.replace с regex=True для замены подстрок:

df['Height'] = df['Height'].replace('-','.', regex=True).astype(float)
1 голос
/ 17 апреля 2019

Вы можете отобразить столбец с помощью лямбда-функции, чтобы изменить его.

df.loc[:,'Height'] = df.loc[:,'Height'].map(lambda x: float(str(x).replace('-','.')))

Я не знаю ваш вариант использования, но если это дюймы, будьте осторожны.

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