笨办法学分析[01]数据导入

作者: 一起学分析 | 来源:发表于2016-04-25 22:34 被阅读267次

    这里我们以一个市场调研问卷的数据作为例子,一步步的实现使用Python进行数据分析的目的。

    环境设置:
    • 数据来源:点击查看
    • 平台环境:Windows10 (64-bit)
    • Python环境:Python 3.5.1 |Anaconda 4.0.0 (64-bit)
    • 编辑环境:Anaconda自带的Spyder
    • 其他说明:由于只有数据,没有该项目的问卷,选项是根据文档中的分析部分反推的,所以可能不准确,所有的分析结果仅做数据分析学习使用,不可当真。另外侵删(我说说而已,作者不会介意吧)。
    01.看数据情况
    原始数据

    这里我们可以观察到,原始数据的格式是比较不规范的。
    第一是标题中有很多合并单元格,第二是选项以ABCD的方式列出。一般情况下市场调研的问卷会将多选题(合并单元格)列为5.1/5.2/5.3的形式,方便分析;而选项则更多以1234的数字或者01形式的二分法录入为录入基准(录数字比录字母容易且不容易出错,另外一个好处就是方便使用SPSS做分析)。
    为了标题的完整性,我们稍微处理一下数据,使数据显示成这样:

    调整后数据

    调整后的数据就是拆分了合并单元格,并填充了标题(注意,这里填充的标题并不符合规范,不过who care,我们还有Python呢,留给它来处理吧,顺便练练手)。将文件存储为"贵州学生网购数据.csv"。

    02.利用Python导入数据
    # -*- coding: utf-8 -*-
    """
    Created on Mon Apr 25 19:00:16 2016
    
    @author: shanlin
    """
    
    #导入数据分析所需要的两个库
    import numpy as np 
    import pandas as pd
    
    
    #导入数据
    int_data=pd.read_csv("贵州学生网购数据.csv", 
                         encoding='gb2312', 
                         index_col="问卷编号")
    

    这里值得强调的三件事:

    1. 开头的utf-8,是表示文本编辑中可以用中文的,以免出现乱码。
    2. 使用pd.read_csv读取数据中的encoding='gb2312'也是避免导入的数据中含有中文出现乱码的。当然,有时候或许需要使用utf-8或者gbk。
    3. index_col="问卷编号",是制定问卷编号为列索引。如果需要指定层次化索引(简单理解就是多列作为索引),只需将index_col的参数传入为一个列表即可,如:index_col=['问卷编号', '访问员编号'],就将问卷编号和访问员编号设置成了索引。
    03.输出数据结果
    #查看导入的数据,默认输出前5条数据
    int_data.head()
    
    Python的输出结果

    这里我们观察到两点(实际上是pandas的处理结果):

    1. 我们那些重复的列标题,已经被Python处理过了,如5已经变成了“5/5.1/5.2/5.3……”
    2. 那些空白值已经变成了NaN(not a number),即缺失值。
      我们可以用type函数查看当前的数据类型。
    #查看数据类型
    type(int_data)
    
    数据类型是pandas的DataFrame

    相关文章

      网友评论

        本文标题:笨办法学分析[01]数据导入

        本文链接:https://www.haomeiwen.com/subject/jshzlttx.html