Hola Oscar,
¡Gracias por tu pregunta! Entiendo que utilizar la librería fuzzywuzzy en Python para realizar un análisis de coincidencia de strings entre los datasets de Fortune y Forbes te llevó bastante tiempo. Sin embargo, existen otras formas de abordar este desafío sin necesidad de utilizar esa librería.
Una posible alternativa sería utilizar técnicas de procesamiento de lenguaje natural (NLP, por sus siglas en inglés) para comparar los nombres de las empresas en ambos datasets. Podrías utilizar la librería NLTK en Python para realizar este tipo de análisis. Por ejemplo, podrías utilizar el algoritmo de comparación de strings de Jaccard para calcular la similitud entre los nombres de las empresas en ambos datasets.
Aquí tienes un ejemplo de cómo podrías implementar esto utilizando NLTK:
from nltk.metrics import jaccard_distance
def find_non_matching_companies(fortune_companies, forbes_companies):
non_matching_companies = []
for fortune_company in fortune_companies:
matching = False
for forbes_company in forbes_companies:
similarity = 1 - jaccard_distance(set(fortune_company), set(forbes_company))
if similarity > 0.8: # Ajusta este umbral según tus necesidades
matching = True
break
if not matching:
non_matching_companies.append(fortune_company)
return non_matching_companies
# Ejemplo de uso
fortune_companies = ['Apple Inc.', 'Microsoft Corporation', 'Amazon.com, Inc.']
forbes_companies = ['Apple Incorporated', 'Microsoft Corp', 'Tesla, Inc.']
non_matching = find_non_matching_companies(fortune_companies, forbes_companies)
print(non_matching) # ['Amazon.com, Inc.']
Este es solo un ejemplo básico y deberías adaptarlo a tus necesidades específicas. Recuerda ajustar el umbral de similitud según tus necesidades y los datos con los que estás trabajando.
Espero que esta alternativa te sea útil y te ayude a ahorrar tiempo en tu desafío. Si tienes alguna otra pregunta, ¡no dudes en preguntar!
¡Espero haber ayudado y buenos estudios!