导入需要的包
import pandas as pd
import numpy as np
读取csv文件
path = r"D:\postgraduate\study\data_mining\test\guanxinbing.csv"
data_datafram = pd.read_csv(path,encoding="gbk")
由于读取到的数据是datafram,所以先将pandas读取的数据转化为array
data_array = np.array(data_datafram)
然后转化为list形式
data_list =data_array.tolist()
获取列名(表头)
name = data_datafram.columns.values
按照0,1对应为列名
medicine = []
for i in range(356):
num = data_list[i]
case = zip(name,num)
temp_list = []
for j in case:
if j[1] == 1.0:
temp_list.append(j[0])
medicine.append(temp_list)
导入包,进行关联规则分析
from efficient_apriori import apriori
transactions = medicine
itemsets,rules = apriori(transactions,
min_support = 0.1,
min_confidence= 0.7)
print(itemsets,'\n')
for i in rules:
print(i)
使用 pip install pip install efficient_apriori 安装pip install efficient_apriori
输出结果为
补充:
csv文件是一种用逗号和换行区分数据记录和字段的文件结构,
可以用excel表格编辑,也可以用记事本编辑,是一种类似于excel的数据存储文件。
pandas提供了pd.read_csv()方法可以读取其中的数据并且转换成DataFrame的数据类型。
DataFrame是一种表格型数据结构
它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame既有行索引(index)也有列索引(column)。
DataFrame可以根据dict进行创建,或通过读取csv或者txt文件来创建。