Python金融数据挖掘 第八章 复习思考题2

本文使用Apriori算法对购物篮数据进行分析,找出连带销售的商品组合,如('frozenmeal','cannedveg')、('cannedveg','fruitveg')等。同时,根据顾客性别和年龄分组(18-29,30-49,50+),发现无论男女,年轻和中年顾客更倾向于购买啤酒,而老年顾客购买啤酒的比例较低。
摘要由CSDN通过智能技术生成

一、问题

设有一份购物篮数据basketdata.txt,包括两部分内容。

第一部分是1000名顾客的个人信息,含7个变量:会员卡号(cardid)、消费金额(value)、支付方式(pmethod)、性别(sex,M表示男性,F表示女性)、是否户主(homeown)、年龄(age)及收入(income)。

第二部分是1000名顾客一次购买的商品信息,变量均为二分类变量,取值1表示购买,取值0表示未购买。这些变量包括水果蔬菜(fruitveg)、鲜肉(freshmeat)、奶制品(dairy)、蔬菜罐头(cannedveg)、肉罐头(cannedmeat)、冷冻食品(frozenmeal)、啤酒(beer)、葡萄酒(wine)、软饮料(softdrink)、鱼(fish)及果糖(confectionery)等。基于该数据集,利用关联规则分析算法完成以下任务:

(1)找到有较大可能连带销售的商品。

(2)对比不同性别和年龄段顾客的啤酒选择性倾向。(这里将年龄分为三组,30岁以下为年轻组“1”,30~49岁为中年组“2”,50岁以上为中老年组“3”)。

二、代码

'''
我是第二题
我是第二题
'''
##################2
import pandas as pd
import numpy as np

# 打开txt文件
f = open("basketdata1.txt","r",encoding='utf-8')   #设置文件对象
# 转换为二维表格式
ff= []
line = []
for line in f.readlines():#readlines以列表输出文件内容
    line = line.strip().split("\t")
    line1 = " ".join(line)
    line1 = line1.split(",")
    # result.append(line)
    ff.append(line1)
f.close()   #将文件关闭
f1=pd.DataFrame(ff).dropna(axis=0)
# 添加列名
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值