У меня есть скрипт Python, который загружает условия поиска из файла JSON и обрабатывает DataFrame Pandas, чтобы добавить новые столбцы, указывающие, присутствуют ли определенные термины в текстовых данных. Однако я хотел бы изменить сценарий, чтобы использовать Polars вместо Pandas и, возможно, удалить зависимость JSON. Вот мой исходный код:
Я понимаю, что могу использовать функцию .str.contains(), но хочу использовать ее с конкретными словами и точными фразами. Не могли бы вы дать какие-нибудь рекомендации, с чего начать?
У меня есть скрипт Python, который загружает условия поиска из файла JSON и обрабатывает DataFrame Pandas, чтобы добавить новые столбцы, указывающие, присутствуют ли определенные термины в текстовых данных. Однако я хотел бы изменить сценарий, чтобы использовать Polars вместо Pandas и, возможно, удалить зависимость JSON. Вот мой исходный код: [code]import pandas as pd import json
class SearchTermLoader: def __init__(self, json_file): self.json_file = json_file
def load_terms(self): with open(self.json_file, 'r') as f: data = json.load(f)
terms = {} for phase_name, phase_data in data.items(): terms[phase_name] = ( phase_data.get('words', []), phase_data.get('exact_phrases', []) ) return terms
def add_contains_columns(self, search_terms): columns_to_add = ["type1", "type2"] for column in columns_to_add: self.df[column] = self.df[self.col_name].apply( lambda text: any( term in text for term in search_terms.get(column, ([], []))[0] + search_terms.get(column, ([], []))[1] ) ) return self.df
# Example Usage data = {'text_column': ['The apple is red', 'I like bananas', 'Cherries are tasty']} df = pd.DataFrame(data)
new_df [/code] Вот пример файла json: [code]{ "type1": { "words": ["apple", "tasty"], "exact_phrases": ["soccer ball"] }, "type2": { "words": ["banana"], "exact_phrases": ["red apple"] } } [/code] Я понимаю, что могу использовать функцию .str.contains(), но хочу использовать ее с конкретными словами и точными фразами. Не могли бы вы дать какие-нибудь рекомендации, с чего начать?