перебрать определенный столбец в фрейме данных и вернуть true или false (то есть), если в моем тексте есть цифра - PullRequest
0 голосов
/ 25 марта 2019
df = pd.DataFrame({text_summary: ['my students need 8\ tablets to work on a project', 'My students need 5 tablets for our classroom technology center PLEASE!!!']

Я хочу просмотреть каждую строку столбца text_summary и проверить, есть ли какие-либо цифры, и вернуть true или false. Создайте еще один столбец в том же кадре данных с возвращенными значениями.

1 Ответ

0 голосов
/ 25 марта 2019

Сначала Series.str.extract числовое по регулярному выражению \d+, а затем проверка по Series.str.isdigit:

df = pd.DataFrame({'text_summary': ['my students need 8\ tablets to work on a project', 
                                    'My students need 5 tablets for 
                                     our classroom technology center PLEASE!!!',
                                    'no digit']})

df['digit'] = df['text_summary'].str.extract('(\d+)', expand=False)
df['test'] = df['digit'].str.isdigit().fillna(False)
print (df)

                                        text_summary digit   test
0   my students need 8\ tablets to work on a project     8   True
1  My students need 5 tablets for our classroom t...     5   True
2                                           no digit   NaN  False

Другая идея заключается в использовании Series.str.contains:

df['test'] = df['text_summary'].str.contains('\d+')
df['digit'] = df['text_summary'].str.extract('(\d+)', expand=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...