Python学习日志(第4篇)—— 关联规则挖掘(3)

本文接上一篇日志:《Python学习日志(第3篇)——关联规则挖掘(2)》

6. inputfile = '../data/apriori.txt'

   data = pd.read_csv( inputfile, header=None, dtype = object)

    (1) 参考资料:

         https://zhidao.baidu.com/question/652592922517817245.html ; 

        https://www.cnblogs.com/followyourheart1990/p/4270566.html

        http://blog.csdn.net/databatman/article/details/49453953

        https://www.cnblogs.com/datablog/p/6127000.html

        http://blog.csdn.net/zutsoft/article/details/51483710

    (2) 绝对路径和相对路径

    首先看一个示例,当前路径的结构如下图所示。其中三个txt文本都为空文档,希望从test.py中实现对samelevel.txt、highlevel.txt、和lowerlevel.txt中写入一句话。

    Python学习日志(第4篇)—— 关联规则挖掘(3)

    a. 在test.py中写入以下程序,实现对samelevel.txt的读写。

Python学习日志(第4篇)—— 关联规则挖掘(3)

        运行结果为:

Python学习日志(第4篇)—— 关联规则挖掘(3)

        说明:可以直接写当前文件夹下的文件的路径。    

    b. 在test.py中写入以下程序,实现对lowerlevel.txt的读写:

Python学习日志(第4篇)—— 关联规则挖掘(3)

        运行结果为:

    Python学习日志(第4篇)—— 关联规则挖掘(3)

        说明:可以直接写当前文件夹下的其他文件夹,并用“/”分隔。

    c. 在test.py中写入以下程序,实现对highlevel.txt的读写:

Python学习日志(第4篇)—— 关联规则挖掘(3)

        运行结果为:

Python学习日志(第4篇)—— 关联规则挖掘(3)

        说明:两个点的这个符号,代表当前文件夹的上一层文件。

    d. 绝对路径:c中的例子,如果采用绝对路径的话,可以改为:

        正、单斜杠的写法:f=open('d:/python case/test-20180119/highlevel.txt','w')    或者

                反、双斜杠的写法:f=open('d:\\python case\\test-20180119\\highlevel.txt','w')    或者

                r、反、单斜杠的写法:f=open(r'd:\python case\test-20180119\highlevel.txt','w')

    e. 注意:如果只采用反、单斜杠,而不加“r”的话,会报错。从报错的信息中可以看出,是将该路径转换为了‘d:\\python case\test-20180119\\highlevel.txt’。

    注意,报错信息中提示的路径里,test前面只有一条反斜杠,而不是双反斜杠。因为在Python语言中,类似于\t、\r这样的是特殊字符,程序遇到这样的符号,会对其进行转义,而不按照路径来处理。

Python学习日志(第4篇)—— 关联规则挖掘(3)

    (3) pandas.read_csv

    ① 函数作用:读取csv文件到DataFrame。而Dataframe是pandas中最常用的数据结构,类似于数据库中的表,不过DataFrame不仅仅限于2维,可以创建多维数据表。(更多关于DataFrame的问题,尚未研究,以后碰到再说。。。)

    ② 参数设置:该函数中可以设置的参数有很多,这里只对案例中提到的几个参数进行说明。

    a. filepath_or_buffer:str, pathlib(尚未弄懂pathlib是什么)。路径的设置。

    b. header:int or list of ints。指定行数用来作为列名。如果文件中没有列名,则默认为0,否则设置为None。

    c. dtype:每列数据的数据类型。

    (4) 本例分析:

    ① 输入事务集文件:在本例的程序中,主程序apriori_rules.py是在code文件夹下,而需要输入的数据apriori.txt是在data文件夹下。因此要访问apriori.txt时,首先要访问上一层的目录,即采用“..”的形式,再到data文件夹,最后到apriori.txt文件。

    ② 本例中,我们指定只运行从句首到data赋值的这一行(选中从第1行到第8行,点击Run-Run selection or current line)。可以看到当前的变量空间中,只有两个变量,Inputfile是str类型。data是Dataframe类型,且其大小是930行、7列。

Python学习日志(第4篇)—— 关联规则挖掘(3)

    在data上点击右键-edit,可以看到整个DataFrame。

Python学习日志(第4篇)—— 关联规则挖掘(3)