Может ли re.search () пропустить целочисленные объекты? - PullRequest
0 голосов
/ 22 февраля 2019

Вопрос довольно очевиден.У меня есть столбец в кадре данных pandas, который содержит объекты int и str.Когда я пытаюсь найти его с помощью re.search (), он не может работать, потому что (я полагаю) некоторые столбцы содержат целое число, и он не знает, что делать.

Есть ли какой-то типспособ это исправить?Я не вижу аргумента игнорирования ошибок.

1 Ответ

0 голосов
/ 22 февраля 2019

Лучше всего использовать встроенные панды pandas.Series.str.match Документы .Он автоматически «пропускает» значения int, переводя их все в строку.

import pandas as pd
df = pd.DataFrame(data={
                    'Col1': [...],
                    'Col2': [...]}
                 )
df['Col1'].str.match("*pattern*")

Вы можете настроить свой шаблон, чтобы убедиться, что ни одна из строк int не соответствует.

>>> import pandas as pd
>>> df = pd.DataFrame(data={
                    'Col1': ["a string", "a second string", 123, 456, "another string"],
                    'Col2': [1, 2, 3, 4, 5]}
                 )
>>> df['Col1'].str.match("[^0-9]+")
0    True
1    True
2     NaN
3     NaN
4    True
Name: Col1, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...