Python-error-the-truth-value-of-a-dataframe-is-ambiguous - не удалось разрешитьPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python-error-the-truth-value-of-a-dataframe-is-ambiguous - не удалось разрешить

Сообщение Anonymous »

Я новичок в этих библиотеках ML и не могу устранить ошибку с помощью приведенного ниже кода:
main.html не возвращает рекомендуемые продукты и выдает эту ошибку в dataframe.

Код: Выделить всё

def content_based_recommendations(train_data, item_name, top_n=10):
if item_name not in train_data['Name'].values:
print(f"Item '{item_name}' not found in the training data.")
return pd.DataFrame()

tfidf_vectorizer = TfidfVectorizer(stop_words='english')
tfidf_matrix_content = tfidf_vectorizer.fit_transform(train_data['Tags'])
cosine_similarities_content = cosine_similarity(tfidf_matrix_content, tfidf_matrix_content)
item_index = train_data[train_data['Name'] == item_name].index[0]
similar_items = list(enumerate(cosine_similarities_content[item_index]))
similar_items = sorted(similar_items, key=lambda x: x[1], reverse=True)
top_similar_items = similar_items[1:top_n+1]
recommended_item_indices = [x[0] for x in top_similar_items]
recommended_items_details = train_data.iloc[recommended_item_indices][['Name', 'ReviewCount', 'Brand', 'ImageURL', 'Rating']]
return recommended_items_details

@app.route("/recommendations", methods=['POST'])
def recommendations():
try:
prod = request.form.get('prod')
nbr = request.form.get('nbr')

if not prod or not nbr:
return render_template('main.html', message="Product name or number of recommendations is missing.")

try:
nbr = int(nbr)
except ValueError:
return render_template('main.html', message="Invalid number of recommendations.")

df = pd.read_csv('clean_data.csv')
print(df.to_string())
content_based_rec = content_based_recommendations(train_data, prod, top_n=nbr)

if content_based_rec.empty:
return render_template('main.html', message="No recommendations available for this product.")
else:
random_product_image_urls = [random.choice(random_image_urls) for _ in range(len(content_based_rec))]
price = [40, 50, 60, 70, 100, 122, 106, 50, 30, 50]
return render_template('main.html', content_based_rec=content_based_rec, truncate=truncate,
random_product_image_urls=random_product_image_urls,
random_price=random.choice(price))

except Exception as e:
return render_template('main.html', message=f"An error occurred: {str(e)}")

Пожалуйста, помогите найти любое возможное решение этой проблемы.
Спасибо.
Я ожидал, что в шаблоне будет отображен список похожих элементов. .`

Подробнее здесь: https://stackoverflow.com/questions/788 ... to-resolve
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»