基于Python的数据分析(1):配置安装环境
数据分析是一个历史久远的东西,但是直到近代微型计算机的普及,数据分析的价值才得到大家的重视。到了今天,数据分析已经成为企业生产运维的一个核心组成部分。
据我自己做数据分析的经验来看,目前数据分析按照使用工具可以分为大体四类:
基于Excel的数据分析,Excel自带的函数、数据透视表、宏等功能对于数据分析来说十分适用且好用;基于matlib、SAS、SPSS等专业统计软件,我自己用过一段时间的SAS,觉得功能十分全面,但是作为程序员使用又觉得限制太多不够自由;基于SQL+数据库的数据分析,这一类更偏向于数据存储,利用数据库自带的SQL查询函数和过程函数来帮助做数据分析,但是因为不利于数据计算和图表展示,往往还是需要结合Excel软件的帮助;基于Python的数据分析,这是我觉得最好的一种数据分析,因为python本身的优秀以及第三方库的强大,但是前提是需要有一定的编程能力——不一定是码农,事实上我看到蛮多非计算机的人用python很好,因为python本身是一门入门级的语言,简单易上手。
接下来,我主要讲一下python环境的安装。以步骤为序:
1.到下载软件https://www.python.org/ 建议在官网上下载,如果不能上的就在CSDN那边搞一个。
下载最新版本3.5.1或者2.7.11。我个人建议下载2.7.11这个版本,关于ptyhon3.x和python2.x的区别,在语法上变化并不大,当然3.x是未来,但是2.x才是现在啊,因为2.x拥有的第三方库最齐全啊,这是我从2.x转到3.x再转到2.x的心得啊。(都是眼泪/(ㄒoㄒ)/~~)当然因为2.x版本涉及到字符串Unicode的问题,我会在下一篇文章《基于python的数据分析(2)》中详细讲,事实上这个问题习惯处理了也还好。
2.安装完成(一路next操作不细说)。安装好之后在DOS界面输入python命令,如果提示“‘python’不是内部或外部命令,也不是可运行的程序”,则需要自己修改一下python的path环境变量。
path环境变量是DOS以前的内部命令,windows继续沿用至今。用作运行某个命令的时候,本地查找不到某个命令或文件,会到这个声明的目录中去查找。说简单了就是方便在DOS可以直接输入python和安装程序easy_install、pip install进行操作,不用再输入这些程序包所在的目录。
右键选择“我的电脑”-“属性”-“高级环境设置”,选择最下面的“环境变量”按钮
在变量框中选择path变量(如果没有就新建一个“path”),把python和python第三方支持脚本所在的目录填在变量值里面,一般来说就是C:\Python27\Scripts和C:\Python27。
修改完成之后,在DOS界面输入python可以看到这个界面就是成功了。
3.检查一下pip和easy_install这两个安装工具是否已经配置好。这两个工具主要是用来安装第三方库的,只要知道所需要的第三方包名称就可以像linux一样安装程序包(确定联网环境)。这两个安装工具我是交替使用,如果用pip装不了,我会尝试用easy_install。如果这两个工具都不行的话,就使用万能安装大法,就是到这个网站去http://www.lfd.uci.edu/~gohlke/pythonlibs/下载whl包,用pip install安装下载即可,百试百灵。
方法就是在DOS界面下输入pip和easy_install命令,看是否有下面的界面,如果有就是已经安装,如果提示“…不是内部或外部命令,也不是可运行的程序”就是没有安装。
一般来说pip安装工具是自带的,第一次输入后会提示你输入pip –update更新到最新版本就行了。python -m pip install --upgrade pip
eays_install到官网https://pypi.python.org/pypi/setuptools#windows-simplified下载ez_stup.py文件,然后用python ez_stup.py –install安装即可。
4.到此为准,python的环境就基本上搭好了。这是为了解决python的编码问题,我建议在目录C:\Python27\Lib\site-packages 增加一个文件,命名为sitecustomize.py(sitecustomize.py是一个特殊文件, Python 在启动时将尝试加载该文件,因此所有代码都将运行该文件)。里面的内容见下:
这段代码的意思是强制python用utf-8编码来处理字符。Python的默认编码是ascii编码,当python中间处理非ASCII编码时,经常会出现如下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
这个问题会在处理数据库和文本文件的时候发生的特别多,所以现在配置环境时先一步到位处理掉。
5.开始安装第三方支持库,下面是我建议装的:
xlrd/xlwt/xlutils:支持python读写excel的第三方库,速度较快,功能不够丰富;
smtplib:python的邮件接口库
ConfigParser:python读写配置文件(.ini文件)的接口库。
pymssql:python读取mssql的接口库
MySQLdb:python读取mysql的接口库。
以上是基本库。安装的时候只需要在DOS界面输入pip install xxx或者easy_install xxx(xxx是功能库名)。
还有一些程序功能包:
pywin32:应用于python的windows接口,用于读取excel,采用VBA类似的语法,功能全面,读取速度稍慢;
wxpython : 提供python的图形化展示的功能库。
matplotlib/seaborn:数据可视化功能库。(需要安装numpy,scipy,python-dateutil,pyparsing 依赖包)。
上述这些程序包可以下载安装程序(exe程序)或者也可以通过安装工具pip和easy_install安装。
6.Python编程IDE,我个人推荐PyCharm。功能强大且十分方便,各种快捷键可以把编程玩的很溜。它长这个样:
到此,配置环境已经结束,开始编程吧!
本文原创,无作者允许不要转载。
基于Python的数据分析(1):配置安装环境的更多相关文章
- 基于Python的数据分析(2):字符串编码
在上一篇文章<基于Python的数据分析(1):配置安装环境>中的第四个步骤中我们在python的启动步骤中强制要求加载sitecustomize.py文件并设置其默认编码为"u ...
- 代码编辑器[0] -> Vim/gVim[0] -> 基于 Python 的 gVim 环境配置(Windows)
环境配置 / Environment Setup 基于Python开发的 gVim 环境配置(Windows) 使用方式参考 Vim 的使用. 1 基于vundle进行配置 Vim有多个扩展管理器, ...
- 基于Python的数据分析(3):文件和时间
在接下来的章节中,我会重点介绍一下我自己写的基于之前做python数据分析的打包接口文件common_lib,可以认为是专用于python的第三方支持库.common_lib目前包括文件操作.时间操作 ...
- 基于Python的数据分析:数据库索引效率探究
索引在数据库中是一个很特殊的存在,它的目的就是为了提高数据查询得效率.同样,它也有弊端,更新一个带索引的表的时间比更新一个没有带索引的时间更长.有得有失.我希望做一些研究测试,搞清楚索引对于我们使用数 ...
- 利用Python进行数据分析
最近在阅读<利用Python进行数据分析>,本篇博文作为读书笔记 ,记录一下阅读书签和实践心得. 准备工作 python环境配置好了,可以参见我之前的博文<基于Python的数据分析 ...
- 数据分析:基于Python的自定义文件格式转换系统
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- 基于 Python 和 Pandas 的数据分析(1)
基于 Python 和 Pandas 的数据分析(1) Pandas 是 Python 的一个模块(module), 我们将用 Python 完成接下来的数据分析的学习. Pandas 模块是一个高性 ...
- 基于python的接口测试框架设计(二)配置一些参数及文件
基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里 毕竟导入的时候方便了一些 首先是url 图略 建 ...
- 配置基于python的VIM环境
配置基于python的VIM环境 安装插件管理工具 为防止过多插件管理的麻烦,首先安装vim的插件管理工具Vundle.vundle本身的github软件已经有相关的中文文档,地址如下: vundle ...
随机推荐
- mysql DISTINCT 的实现与优化
DISTINCT实际上和GROUP BY的操作非常相似,只不过是在GROUP BY之后的每组中只取出一条记录而已.所以,DISTINCT的实现和GROUP BY的实现也基本差不多,没有太大的区别.同样 ...
- Socket编程实践(11) --epoll原理与封装
常用模型的特点 Linux 下设计并发网络程序,有典型的Apache模型(Process Per Connection,PPC), TPC(Thread Per Connection)模型,以及 se ...
- OC——第五天NSSArray /NSDicti…
1.oc中常用的集合(容器)有: 1.NSArry 数组:2.NSDicitionary 字典:3.NSSet 集(不常用) 数组:NSArry 继承自NSObject ,不可变的数组,用于管理一系列 ...
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十一)
之前的10篇内容主要实现了选手从起点移动至终点的动作,比较随机的模拟了选手的速度变化,另外完成了选手到达终点时该做的事情. 接下来的几篇中我们进一步完善SpeedBoy Lite项目,使它真正成为一个 ...
- iOS9关键字的简单使用
在iOS 9 苹果推出了很多关键字, 目的其实很明确, 主要就是提高开发人员的效率, 有益于程序员之间的沟通与交流, 在开发中代码更加规范! 1. nullable 与 nonnull nullabl ...
- tomcat集群实现源码级别剖析
随着互联网快速发展,各种各样供外部访问的系统越来越多且访问量越来越大,以前Web容器可以包揽接收-逻辑处理-响应整个请求生命周期的工作,现在为了构建让更多用户访问更强大的系统,人们通过不断地业务解耦. ...
- Pollution over East China : Image of the Day
acquired October 16, 2002download large image (2 MB, JPEG, 6000x4600) acquired October 16, 2002downl ...
- SpriteBuilder给节点添加effect在32设备上发生crash
环境为 Xcode 6.4 , cocos2D 3.0.4 , SpriteBuilder 1.4.9 在给某一节点添加Effect后,运行在真机iphone4s上发生崩溃,显示为: 可以看到整个堆栈 ...
- 谈谈javascript 中的函数问题
聊聊javascript中的函数 本文可作为李刚<疯狂htmlcssjavas讲义>的学习笔记 先说一个题外话 前几天在知乎上流传着一个对联 上联是雷锋推到雷峰塔 nnd 这是什么对联? ...
- HBase 运维分析
问题分析的主要手段 1.监控系统:首先用于判断系统各项指标是否正常,明确系统目前状况 2.服务端日志:查看例如region移动轨迹,发生了什么动作,服务端接受处理了哪些客户端请求. 3.gc日志:gc ...