Python 使用 Pandas 实现商品推荐系统:基于地理位置和限额筛选商品

本代码使用 Python 的 Pandas 库,基于地理位置和限额筛选商品,并输出推荐结果。代码逻辑清晰,易于理解,可作为商品推荐系统的基础框架。

import pandas as pd
import numpy as np
import math

# 读取商品信息
goods_df = pd.read_excel('D:\pythonProject3\商品信息\商品打包.xlsx')
goods_df = goods_df[['新商品GPS纬度', '新商品GPS经度', '商品编号', '打包数量']]
goods_df = goods_df.dropna()

# 读取会员信息
members_df = pd.read_excel('D:\pythonProject3\打包问题\会员信息.xlsx')
members_df = members_df[['会员编号', '会员GPS纬度', '会员GPS经度', '预订商品限额']]
members_df = members_df.dropna()

# 初始化会员挑选结果
results = []

# 遍历每个会员
for index, member in members_df.iterrows():
    member_id = member['会员编号']
    member_lat = member['会员GPS纬度']
    member_lon = member['会员GPS经度']
    member_limit = member['预订商品限额']

    # 初始化会员挑选的商品数量和商品编号
    selected_quantity = 0
    selected_goods = []

    # 遍历商品列表
    for index, good in goods_df.iterrows():
        good_id = good['商品编号']
        good_lat = good['新商品GPS纬度']
        good_lon = good['新商品GPS经度']
        good_quantity = good['打包数量']

        # 计算会员和商品之间的距离
        distance = math.sqrt((member_lat - good_lat) ** 2 + (member_lon - good_lon) ** 2)

        # 如果距离小于等于0.1并且商品数量加上已选商品数量不超过会员限额
        if distance <= 0.1 and selected_quantity + good_quantity <= member_limit:
            # 更新已选商品数量和商品编号
            selected_quantity += good_quantity
            selected_goods.append(good_id)

    # 添加会员挑选结果到结果列表
    results.append({'会员编号': member_id, '挑选商品数量': selected_quantity, '挑选商品编号': selected_goods})

# 输出结果
for result in results:
    print('会员编号:', result['会员编号'])
    print('挑选商品数量:', result['挑选商品数量'])
    print('挑选商品编号:', result['挑选商品编号'])
    print('\n')

# 将结果输出到 Excel 文件
results_df = pd.DataFrame(results)
results_df.to_excel('D:\pythonProject3\打包问题\结果.xlsx', index=False)

代码解释

  1. 读取数据: 使用 pd.read_excel() 读取商品信息和会员信息,并进行必要的列筛选和缺失值处理。
  2. 遍历会员: 使用 iterrows() 遍历每个会员的信息。
  3. 遍历商品: 使用 iterrows() 遍历每个商品的信息。
  4. 计算距离: 使用 math.sqrt() 计算会员和商品之间的距离。
  5. 筛选商品: 根据距离和限额筛选符合条件的商品,并更新已选商品数量和商品编号。
  6. 输出结果: 使用 print() 打印每个会员的推荐商品结果,并使用 pd.DataFrame()to_excel() 将结果输出到 Excel 文件。

总结

本代码展示了使用 Python 的 Pandas 库进行商品推荐的简单实现。通过地理位置和限额筛选,可以为每个会员提供个性化的商品推荐,提高推荐的精准度。同时,代码结构清晰,易于扩展,可根据实际需求进行修改和完善。

Python 使用 Pandas 实现商品推荐系统:基于地理位置和限额筛选商品

原文地址: https://www.cveoy.top/t/topic/fAJO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录