Pandas: Упражнение 38 и регулярные выражения с решением
Напишите программу Pandas для извлечения предложений, в которых определенное слово присутствует в заданном столбце заданного DataFrame.
Пример решения:
Код Python:
импортировать панды как pdimport re как redf = pd.DataFrame ({'company_code': ['Abcd', 'EFGF', 'zefsalf', 'sdfslew', 'zekfsdf'], 'date_of_sale': [ '05.12.2002', '16.02.1999', '05.09.1998', '12.02.2022', '15.09.1997'], 'адрес': ['9910 Surrey Avenue ', '92 N. Bishop Avenue', '9910 Golden Star Avenue', '102 Dunbar St.', '17 West Livingston Court']}) print ("Original DataFrame:") print (df) def pick_only_key_sentence (str1, word): result = re.findall (r '([^.] *' + word + '[^.] *)', str1) return resultdf ['filter_sentence'] = df ['address']. apply (лямбда x : pick_only_key_sentence (x, 'Avenue')) print (" nТекст со словом 'Avenue':") print (df)
Пример вывода:
Исходный DataFrame: код_компании дата_адреса_продажи0 Abcd 12.05.2002 9910 Surrey Avenue1 EFGF 16.02.1999 92 N. Bishop Avenue2 zefsalf 05.09.1998 9910 Golden Star Avenue3 sdfslew 12.02.2022 102 Dunbar St.4 zekfsdf 15.09.1997 17 Вест Ливингсто n CourtText со словом 'Avenue': company_code ... filter_sentence0 Abcd ... [9910 Surrey Avenue] 1 EFGF ... [Bishop Avenue] 2 zefsalf ... [9910 Golden Star Avenue] 3 sdfslew ... [] 4 zekfsdf ... [] [5 строк x 4 столбца]
Редактор кода Python: