Как удалить текст и остаться со значениями интергера в столбце данных python - PullRequest
1 голос
/ 26 марта 2020

У меня есть кадр данных со следующим столбцом:

ID, Quantity
1   1,000 total
2   802 destroyed
3   >689 total
4   1,234-1,900 lost

Я хочу получить следующий вывод:

ID, Quantity
1    1,000
2    802
3    689
4    1234-1,900

Я пробовал,

df['Quantity'] = df['Quantity'].str.replace(r' \s', '')

Пока безуспешно.

1 Ответ

0 голосов
/ 26 марта 2020

Это зависит от того, какие возможные значения могут быть в столбце количества. Если в числовой части не может быть пробела (как в вашем примере), вы можете использовать Series.str.partition:

number_column, space_column, text_column = df['Quantity'].str.partition()
del space_column # These two lines are not required but I like to include them
del text_column # to improve code readability and keep pylint happy
df['Quatity'] = number_column

Это также можно записать в одну строку:

df['Quantity'] = df['Quantity'].str.partition()[0]
...