У меня есть функция идентификатора, которая проходит через все элементы в столбце DataFrame и присваивает им категорию. Код, как у меня сейчас, выглядит следующим образом;Python - векторный поиск регулярных выражений для классификации
def fruit_replace(x):
fruit_quantity = re.search(r'(\\d+)quantity', x)
if 'apple' in x:
return 'green'
elif 'pear' in x:
return 'green'
elif 'cherry' in x:
return 'red'
elif 'banana' in x:
return 'yellow'
elif fruit_quantity != None:
return fruit_quantity.group(0)
Я применяю это в лямбда-функции на DataFrame и присваиваю результаты в новом столбце. К сожалению, это немного сложно из-за того, что поиск fruit_quantity
отличается от других.
Процесс должен давать что-то подобное;
Оригинал DataFrame
pd.DataFrame({'fruit_type': ['big apple', 'small cherry', 'jerry 10quantity']})
В этот
pd.DataFrame({'fruit_type': ['big apple', 'small cherry', 'peach 10quantity'],
'category': ['green', 'red', 10]})
Мой вопрос, если этот код может быть улучшена в более вещий или панд образом, и, возможно, векторизация? Я должен применить это примерно к 5 миллионам строк, и это занимает некоторое время.
Большое спасибо!
Просьба представить набор выборки данных (5-7 строк) и нужный набор данных. Пожалуйста, прочитайте [как сделать хорошие воспроизводимые примеры панд] (http://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples) – MaxU