You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kivy中以列表形式展示Pandas返回的推荐结果

餐厅推荐结果页面渲染落地方案

前置处理:解耦模型输出

先把模型的控制台打印逻辑和结构化返回值分开,避免冗余输出干扰渲染:

  • 调用推荐接口时关闭verbose参数,直接获取Pandas DataFrame格式的结果,不要依赖print输出的内容:
# 传入目标用户ID、推荐数量,关闭控制台打印
rec_result = hybrid_recommender_model.recommend_items(user_id=21, topn=2, verbose=False)
  • 提前做展示层数据清洗,筛选需要展示的字段,格式化数值类型适配UI组件:
# 按需选择要展示的列,示例为餐厅ID、名称、平均评分、匹配度、特色标签
show_columns = ["restaurant_id", "restaurant_name", "avg_rating", "match_score", "features"]
show_data = rec_result[show_columns].reset_index(drop=True)
# 格式化数值:评分保留1位小数,匹配度转成百分比格式
show_data["avg_rating"] = show_data["avg_rating"].round(1).astype(str)
show_data["match_score"] = (show_data["match_score"] * 100).round(0).astype(int).astype(str) + "%"

渲染方案1:列表形式(全框架通用)

把DataFrame逐行转成UI组件可识别的文本条目,直接绑定到列表组件即可:

# 转成列表项文本
rec_items = []
for rank, row in show_data.iterrows():
    item_content = f"Top{rank+1} | {row['restaurant_name']} | 评分:{row['avg_rating']} | 匹配度:{row['match_score']} | 标签:{row['features']}"
    rec_items.append(item_content)

# 组件绑定示例(根据你用的GUI框架替换对应API即可)
# Tkinter Listbox:
# for item in rec_items:
#     listbox_component.insert(tk.END, item)
# Textual ListView:
# yield ListView(*[ListItem(Label(text=item)) for item in rec_items])

渲染方案2:表格形式(可读性更强)

直接调用框架自带的表格组件,按行/列绑定清洗后的数据即可,不需要额外转格式:

  • Tkinter 框架(用ttk.Treeview实现表格)参考代码:
# 清空表格历史数据
for old_item in table_component.get_children():
    table_component.delete(old_item)
# 配置表格列
table_component["columns"] = list(show_data.columns)
table_component["show"] = "headings"
# 设置列标题和宽度
for col in show_data.columns:
    table_component.heading(col, text=col)
    table_component.column(col, width=120)
# 逐行插入数据
for _, row in show_data.iterrows():
    table_component.insert("", tk.END, values=list(row))
  • 如果是PyQt/PySide框架,用QTableWidget按行列数逐格赋值即可;如果是Web端页面,直接调用show_data.to_html(classes="table")生成原生HTML表格,传入模板变量即可渲染。

常见渲染失败原因排查:不要直接把整个DataFrame对象传给UI组件,必须拆成字符串、数字这类基础数据类型;确保调用模型时verbose=False,避免print输出占用IO流导致页面拿不到返回值。

内容的提问来源于stack exchange,提问作者filza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:36:31