Сначала 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)