Мне нужно отсортировать столбец с помощью регулярных выражений (pandas) - PullRequest
0 голосов
/ 28 апреля 2020

Добрый день. Я новичок в python, поэтому я прошу прощения за такой простой вопрос. Как мне сделать это правильно? В столбце «Новые случаи» у меня есть примерно следующие значения: +10 000, + 1000, + 100, + 10, 0.

enter image description here

Ответы [ 2 ]

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

Вы можете использовать

iris['New Cases'] = iris['New Cases'].astype(str).str.replace(r'\D+', '').astype(int)

Сначала вам нужно привести данные к строковому типу (.astype(str)), затем удалить все символы, которые не являются цифрами (.str.replace(r'\D+', '')), а затем привести результат в int (с .astype(int)).

Python pandas test:

data = { 'New Cases': ['+1,370', '+6,740', '+1,159', 0, '+9,625']}
df = pd.DataFrame(data)
df['New Cases'].astype(str).str.replace(r'\D+', '').astype(int)
#    0    1370
#    1    6740
#    2    1159
#    3       0
#    4    9625
#    Name: New Cases, dtype: int32
0 голосов
/ 28 апреля 2020

pd.DataFrame.str.contains - это метод, поэтому вам нужно вызвать его. Попробуйте:

iris['New Cases'].str.contains(r'+[d{5}]')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...