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

如何用Python从数据集中获取指定用户的点餐记录?

获取指定用户的全部菜品(Python实现)

下面给你两种常用的实现方法,根据你的数据集类型选择即可:

一、原生Python处理(适合小型数据集)

如果你的数据集是列表嵌套字典的格式,比如:

# 示例数据集
dataset = [
    {"user_id": "U1077", "dish": "宫保鸡丁"},
    {"user_id": "U1078", "dish": "鱼香肉丝"},
    {"user_id": "U1077", "dish": "麻婆豆腐"},
    {"user_id": "U1079", "dish": "水煮鱼"},
    {"user_id": "U1077", "dish": "宫保鸡丁"}
]

可以用列表推导式快速筛选指定用户的菜品:

target_user = "U1077"
# 提取该用户的所有菜品(包含重复项)
user_dishes = [item["dish"] for item in dataset if item["user_id"] == target_user]
# 如果需要去重,转成集合再转回列表
unique_user_dishes = list(set(user_dishes))

print("用户U1077点的所有菜品:", user_dishes)
print("去重后的菜品:", unique_user_dishes)

二、pandas处理(适合大型数据集)

如果数据集是CSV、Excel这类表格格式,用pandas处理会更高效:

import pandas as pd

# 从CSV读取数据集(替换成你的文件路径)
df = pd.read_csv("your_dataset.csv")
# 或者用示例数据创建DataFrame
df = pd.DataFrame([
    {"user_id": "U1077", "dish": "宫保鸡丁"},
    {"user_id": "U1078", "dish": "鱼香肉丝"},
    {"user_id": "U1077", "dish": "麻婆豆腐"},
])

target_user = "U1077"
# 筛选指定用户的行,提取dish列
user_dishes = df[df["user_id"] == target_user]["dish"].tolist()
# 去重的话用drop_duplicates方法
unique_user_dishes = df[df["user_id"] == target_user]["dish"].drop_duplicates().tolist()

print("用户U1077点的所有菜品:", user_dishes)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:35:36