Ваше регулярное выражение должно быть строкой, вы не можете просто так написать.
re.search((('[1-9][0-9]*\.?[0-9]*)|(\.[0-9]+))([Ee][+-]?[0-9]+)?', ind):
edit - но на самом деле я думаю, что остальная часть вашего кода тоже неверна.
то, что вам действительно нужно, это что-то вроде этого:
import pandas as pd
l = ['17.3',
'Hi Hello',
'Pranjal',
'17.1',
'[aasd]How are you',
'I am fine[:"]',
'Live Free']
data = pd.DataFrame(l, columns=['col'])
data[data.col.str.match('\d+\.\d*').shift(1) == True]
логика:
если у вас есть кадр данных со столбцом со строковым типом (не работает для десятичного числа смешанного типа)и строку вы можете найти десятичные / целые записи с помощью регулярного выражения '\ d +.? \ d *'. Если вы сдвинете эту маску на единицу, она даст вам записи после совпадений. используйте их для выборастроки, которые вы хотите в вашем фрейме данных.