##将以下超市的购买记录(已用一个"超市购买记录.txt"来存放,读取该文件即可)
##注意:文件内容存放与下列展示一致,即顿号分隔,“##”号不是文件内容,文件编码为utf-8):
## I1、西红柿、排骨、鸡蛋、毛巾、水果刀、苹果
## I2、西红柿、茄子、水果刀、香蕉
## I3、鸡蛋、袜子、毛巾、肥皂、苹果、水果刀
## I4、西红柿、排骨、茄子、毛巾、水果刀
## I5、西红柿、排骨、酸奶、苹果
## I6、鸡蛋、茄子、酸奶、肥皂、苹果、香蕉
## I7、排骨、鸡蛋、茄子、水果刀、苹果
## I8、土豆、鸡蛋、袜子、香蕉、苹果、水果刀
## I9、西红柿、排骨、鞋子、土豆、香蕉、苹果
## 将其转换为布尔数据集,其中数据集用数据框Data来表示,数据框中的字段名称即为商品名称,如果商品在某个购买记录中出现用1来表示,否则为0
def return_values():
import pandas as pd
items=['西红柿','排骨','鸡蛋','茄子','袜子','酸奶','土豆','鞋子']#商品名称,也是数据框的字段名
# 读取文件内容
with open('超市购买记录.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
# 初始化一个空的数据框
Data = pd.DataFrame(columns=items)
for line in lines:
# 去除换行符并按顿号分割
record = line.strip().split('、')
# 第一个元素是记录编号(如 I1),不需要
items_in_record = record[1:]
# 创建一个字典,表示当前记录的商品出现情况
row = {item: 1 if item in items_in_record else 0 for item in items}
# 将字典添加到数据框中
Data = Data.append(row, ignore_index=True)
return Data