Извлечение координат из строки в Python - PullRequest
2 голосов
/ 16 апреля 2020

У меня есть этот столбец в моем DataFrame

df['Y']

0      -37.025.753

1      -37.024.621

2      -37.056.739

          ...     

214     -3.702.631

215    -37.025.369

Name: Longitud, Length: 216, dtype: object

1.Я пробовал это:

df['Y'] = df.Y.str.rsplit(".",1).str[0]

, и я получаю это:

df['Y']
0      -37.025

2. Я попробовал это:

df["Y"] = df["Y"].str.extract("(.+)\.[0-9]+")

, и я получаю это:

df['Y']
0      -37.025

Но я хотел бы изменить dtype в float с 8 десятичными, как это:

df['Y']

0      -37.025753

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете использовать более явный шаблон

df['Y'] = df['Y'].str.extract(r"(-*[0-9]+\.[0-9]+\.[0-9]+)")
#0  -37.025.753

, затем удалить ненужный полный стоп и конвертировать в float:

df['Y'] = df['Y'].str.replace(r"\.([0-9]{3}$)",r"\1").astype('float64')
#0    -37.025753
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...