建议收藏带你入门数据分析及环境搭建

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建议收藏带你入门数据分析及环境搭建相关的知识,希望对你有一定的参考价值。

数据分析介绍

什么是数据分析?

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。数据分析的目的有多种,概括起来有三种:现状分析、原因分析、预测分析

  • 现状分析简单来说就是告诉你过去发生了什么。

  • 原因分析简单来说就是告诉你某一现状为什么发生。

  • 预测分析简单来说就是预测未来会发生什么。

数据分析六大步骤

数据分析主要有六个过程:

  1. 需求明确:明确做数据分析的目标。为后面的分析过程做好铺垫。
  2. 数据收集:通过爬虫、商务合作的方式,获取想要的数据。
  3. 数据处理:对获取来的数据进行处理和清洗,把不需要的剔除掉,把需要的加工成我们想要的。方便后面的分析。
  4. 数据分析:根据自己的目的,以及现有的数据确定好分析的方法。
  5. 数据展现:将数据按照确定好的分析方法进行展示出来。
  6. 撰写报告:将分析的结果通过图表和文字的方式形成报告文档。

数据分析的误区

  1. 分析目的不明确,为分析而分析:一定要找准自己分析数据的目标而去分析,比如是要了解现状,还是找出原因,还是预测未来发展等,千万不要为了分析而分析,这样就偏离主题了。
  2. 缺乏业务知识,分析结果偏离实际:分析数据的时候,一定要和公司的业务结合起来。如果脱离业务,即使数据分析方法再牛逼,图标再优美,也无济于事。
  3. 追求高级分析方法:一些人喜欢用一些高级的分析方法,认为只有这样才能体现专业性。其实高级的数据分析方法不一定是最好的,能够简单有效的解决问题的方法才是最好的。

数据分析的方法和工具

数据分析可以通过工具,也可以通过代码来实现。以下分别列出这些常用的:

  1. 工具:Excel、Tableau、SPSS、百度图说等。
  2. 编程:Python语言、R语言、数据库的SQL语言、Excel的VBA语言等。

工具和代码该怎么选

两者没有好坏之分,只有合适之分。

数据分析总体来讲有两个模块,一个是数据处理,一个是可视化

  • 如果数据已经经过处理了,并且手头上的软件可以直接非常方便的做可视化处理,那么我们用软件实现就可以。
  • 如果数据没有经过处理,那么最好通过python或者r对数据进行有一些处理,然后再通过软件可视化。或者软件的可视化无法满足我们的要求,那么可以通过代码来实现。

总而言之,工具功能无法100%的满足你的要求,但是效率高。代码做数据处理比较好,最数据可视化比较繁琐,但是DIY属性强!

环境搭建

Python版本:

数据分析用到的Python版本都是3.x。要有一定的Python基础,知道列表、字符串、函数等的用法。


Anaconda:

Anaconda(水蟒)是一个捆绑了Pythonconda、其他相关依赖包的一个软件。包含了180多个可学计算包及其依赖。Anaconda3是集成了Python3的环境,Anaconda2是集成了Python2的环境。Anaconda默认集成的包,是属于内置的Python的包。并且支持绝大部分操作系统(比如:Windows、Mac、Linux等)。

下载地址如下:https://www.anaconda.com/distribution/(如果官网下载太慢,可以在清华大学开源软件站中下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/)。

根据自己的操作系统,下载相应的版本,因为Anaconda内置了许多的包,所以安装过程需要耗费相当长的时间,大家在安装的时候需要耐心等待。

在安装完成后,会有以下几个模块:Anaconda promptAnaconda NavigatorSpyderjupyter notebook,以下分别做一些介绍。

Anaconda prompt:

Anaconda prompt是专门用来操作anaconda的终端。如果你安装完Anaconda后没有在环境变量的PATH中添加相关的环境变量,那么以后你想在终端使用anaconda相关的命令,则必须要在Anaconda prompt中完成。

Anaconda Navigator:

这个相当于是一个导航面板,上面组织了Anaconda相关的软件。

Spyder:

一个专门开发Python的软件,熟悉MATLAB的同学会比较有亲切感,但在后期的学习过程中,我们将不会使用这个工具写代码,因为还有更好的可替代的工具。

jupyter notebook:

一个Python编辑环境,可以实时的查看代码的运行效果。

使用jupyter notebook的姿势:

  1. 先打开Anaconda Prompt,然后进入到项目所在的目录。
  2. 输入命令jupyter notebook打开jupyter notebook浏览器。

conda基本使用:

conda伴随着Anaconda安装而自动安装的。conda可以跟virtualenv一样管理不同的环境,也可以跟pip一样管理某个环境下的包。

以下来看看两个功能的用法:

环境管理:

conda能跟virtualenv一样管理不同的Python环境,不同的环境之间是互相隔离,互不影响的。为什么需要创建不同的环境呢?

原因是有时候项目比较多,但是项目依赖的包不一样,比如A项目用的是Python2开发的,而B项目用的是Python3开发的,那么我们在同一台电脑上就需要两套不同的环境来支撑他们运行了。创建环境的基本命令如下:

# conda create --name [环境名称] 比如以下:
conda create --name da-env

这样将创建一个叫做da-env的环境,这个环境的python解释器根据anaconda来,如果anaconda3.7,那么将默认使用3.7的环境,如果anaconda内置的是2.7,那么将默认使用2.7的环境。

然后你就可以使用conda install numpy的方式来安装包了,并且这样安装进来的包,只会安装在当前环境中。

如果想要装一个Python2.7的环境,anaconda中没有内置Python2.7,那么该怎么实现呢?。

实际上,我们只需要在安装的时候指定python的版本,如果这个版本现在不存在,那么anaconda会自动的给我们下载。

所以安装Python2.7的环境,使用以下代码即可实现:

conda create --name xxx python=2.7

以下再列出conda管理环境的其他命令:

  1. 创建的时候指定需要安装的包:

     conda create --name xxx numpy pandas
    
  2. 创建的时候既需要指定包,也需要指定python环境:

     conda create --name xxx python=3.7 numpy pandas
    
  3. 进入到某个环境

     windows: activate xxx
     mac/linux: source activate xxx
    
  4. 退出环境:

     deactivate
    
  5. 列出当前所有的环境:

     conda env list
    
  6. 移除某个环境:

     conda remove --name xxx --all
    
  7. 环境下的包导出和导入:

    • 导出:conda env export > environment.yml
    • 导入:conda env create --name xxx -f environment.yml

包管理:

conda也可以用来管理包。比如我们创建完一个新的环境后,想要在这个环境中安装包(比如numpy),那么可以通过以下代码来实现:

activate xxx
conda install numpy

以下再介绍一些包管理常用的命令:

  1. 在不进入某个环境下直接给这个环境安装包:

    conda install [包名] -n [环境名]
    
  2. 列出该环境下所有的包:

     conda list
    
  3. 卸载某个包:

     conda remove [包名]
    
  4. 设置安装包的源:

     conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
     conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
     conda config --set show_channel_urls yes
    

加油!

感谢!

努力!

以上是关于建议收藏带你入门数据分析及环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

保姆级|建议收藏阿ken带你学Java入门及进阶——基本数据类型与数组,文末有彩蛋鸭✨✨✨

保姆级|建议收藏阿ken带你学Java入门及进阶——运算符循环语句,文末有彩蛋鸭✨✨✨

保姆级|建议收藏阿ken带你学Java入门及进阶——运算符循环语句,文末有彩蛋鸭✨✨✨

零基础带你快速入门如何通过eclipse导入web项目及Tomcat项目部署 | 全网独家,墙裂建议收藏

零基础带你快速入门如何通过eclipse导入web项目及Tomcat项目部署 | 全网独家,墙裂建议收藏

一篇博文:带你TypeScript入门,两万字肝爆,建议收藏!