Python数据分析环境和工具
一、数据分析工作环境
Anaconda:
Anaconda(水蟒)是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 Python 解释器,conda 包管理工具,以及 NumPy、Pandas、Matplotlib 等 180 多个科学计算包及其依赖项,并且支持所有操作系统平台。
下载地址:https://www.continuum.io/downloads
conda
命令和pip
命令对比:
安装包:
pip install xxx
,conda install xxx
卸载包:
pip uninstall xxx
,conda uninstall xxx
升级包:
pip install upgrade xxx
,conda update xxx
二、数据分析工具
Python本身的数据分析功能不强,需要第三方的扩展库来增强的它的能力。我们课程用到的库包括NumPy
、Pandas
、Matplotlib
等,下面对这三个库做一个简单介绍,后面会通过案例深入讲解相关库的使用。
Numpy
Python并没有提供数组的功能。虽然列表可以完成基本的数组功能,但它不是真正的数组,而且在数据量较大的时候,使用列表的速度会慢的让人难以接受。为此,Numpy提供了真正的数组功能,以及对数据进行快速高效处理的函数。Numpy还是很多更高级的扩展库的依赖库,后面讲解的Matplotlib库、Pandas库都依赖于它。
Pandas
Pandas是Python下最强大的数据分析工具。它包含高级的数据结构,使得在Python中处理表格型数据非常快速和简单。Pandas构建与Numpy之上,它使得以Numpy为中心的应用很容易被使用,最初是被作为金融数据分析工具而开发出来的。
Pandas功能非常强大,支持类似与SQL的数据增、删、改、查,并且带有丰富的数据处理函数,支持灵活的处理缺失数据。
Matplotlib
处理数据分析的结果,都免不了数据可视化的问题。对于Python来说, Matplotlib来说是最著名的绘图库,它主要用于二维绘图。它可以让我们非常快捷的用Python可视化数据。
三、IDE开发工具
Jupyter Notebook:
命令:
jupyter notebook
Anaconda自带,无需单独安装
实时查看运行过程
基本的web编辑器(本地)
.ipynb 文件分享
可交互式
记录历史运行结果
支持编写markdown
IPython:
命令:
ipython
Anaconda自带,无需单独安装
Python的交互式命令行 Shell
可交互式
记录历史运行结果
及时验证结果
Spyder:
命令:
spyder
Anaconda自带,无需单独安装
免费,操作简单的图形界面IDE
PyCharm:
JetBrains公司出品,功能最强大的 Python 图形界面IDE。
收费软件,需要自行安装和购买:https://www.jetbrains.com/pycharm/download
四、Python3 常用的新特性
print() 是函数,不再是一个语句
Python2中的raw_input()输入函数,改为 input()
Python 3 对文本和二进制数据做了更为清晰的区分。
新增数据类型 bytes (字节包),代表二进制数据以及被编码的文本字符串前有个前缀
b
文本由unicode表示,为str类型
二进制数据由bytes (字节包)表示,为bytes类型
Python3中字符串类型 bytes 与 str 转换
str 可以编码(encode)成 bytes
bytes 可以解码(decode)成 str
字符串格式化输出方式:新增format()方式
dict类型变化:
之前的 iterkeys(), itervalues(), iteritems(),
改为现在的 keys(), values(), items()
五、字符串编码格式回顾:
ASCII
:早期计算机保存英文字符的编码方式GB2312
:对ASCII的中文扩展GBK/GB18030
:包括了GB2312的所有内容,同时又增加了近20000个新的汉字和符号,是简体中文Windows环境下默认编码格式Unicode
:包括了全球的符号和编码。每个字符用3~4个字节表示,浪费空间UTF-8
:可变长的编码方式,在互联网上使用最广泛的一种Unicode的实现方式,根据语种决定字符长度,如一个汉字3个字节,一个字母1个字节,也是Linux环境下默认编码格式。
在Python3中,Unicode编码字符串使用str
类型表示,非Unicode编码字符串(如gbk、utf-8等)用bytes
类型表示。
关注【Python开发者交流平台】公众号 ,在微信后台回复【领取资源】,获取IT资源200G干货大全。
Python数据分析环境和工具的更多相关文章
- 手把手教你从零搭建Python数据分析环境
由于最近再做推荐系统的特征处理,需要借助一些工具来筛选特征.最初使用了R,R的安装很简单,而且API也很容易使用,直接就能出图.后来,发现很多人在python和R之间做选择,所以我也在两个工具间摇摆不 ...
- Mac环境下 配置Python数据分析环境
采取的思路主要依据的是这一篇文章,连接: http://www.jb51.net/article/78667.htm 但是当安装brew的时候,可能是网站的问题,一直报错 所以从网上查找资料发现,br ...
- python数据分析&挖掘,机器学习环境配置
目录 一.什么是数据分析 1.这里引用网上的定义: 2.数据分析发展与组成 3.特点 二.python数据分析环境及各类常用分析包配置 1.处理的数据类型 2.为什么选择python 三.python ...
- KNIME + Python = 数据分析+报表全流程
Python 数据分析环境 数据分析领域有很多可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类需要代码编程类的工具.个人选择是python这类,包括pandas,n ...
- 创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作
实例解析Docker如何通过commit,Dockerfile两种方式自定义Dcoker镜像,对自定义镜像的pull,push,rmi等常用操作,通过实例创建一个Python数据分析开发环境的Dock ...
- python数据分析的工具环境
python做数据分析的优势: 拥有大量的库为数据分析和处理提供了完整的工具链 随着库还在不断的增加的同时, 算法的实现也更加的创新.Numpy, matplotlib, scipy,scikit-l ...
- 《Python数据分析》环境搭建之安装Jupyter工具(一)
(免责声明:本文档是针对Python有经验的用户,如果您对Python了解很少,或者从未使用,建议官方教程用Anaconda安装) 前期准备:Python环境 虽然Jupyter可以运行多种编程语言, ...
- Python数据分析工具:Pandas之Series
Python数据分析工具:Pandas之Series Pandas概述Pandas是Python的一个数据分析包,该工具为解决数据分析任务而创建.Pandas纳入大量库和标准数据模型,提供高效的操作数 ...
- python入门科普IDE工具和编译环境
应友人之邀,今天来讲述python的一些入门内容.本次讲解的并不是语法或者某个模块. python下载安装 大多数 Linux 发行版在默认安装的情况 ...
随机推荐
- 一些VPS
https://www.perfectip.net 5美元/1C/4G/20G/10Thttps://www.hetzne ...
- 2.1 Producer API官网剖析(博主推荐)
不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ 2.1 Producer API 2.1.生产者API 我们鼓励所有新开发的程序使用 ...
- java根据url获取完整域名
private String getDomain(String destination){ if(destination==null||destination.trim().equals(" ...
- dropdown下拉菜单
<!--声明方式的下拉菜单:三个要点--> <!--1 外围容器用dropdown包裹--> <!--2 内部点击事件data-toggle--> <!--3 ...
- 【习题 7-6 UVA - 12113】Overlapping Squares
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 先预处理出来一个正方形. 然后每次枚举新加的正方形左上角的坐标就可以. 注意覆盖的规则,控制一下就可以. 然后暴力判断是否相同. 暴 ...
- 【软件project】机房收费系统之图形回想
[背景]通过一阶段的学习.自己整理了整理机房收费系统.以下想通过几张图来回顾一下机房的总体流程.此图形仅仅代表鄙人现阶段的理解.本文仅供參考,若有不妥的地方,请积极指正. 1.机房收费系统业务流程图 ...
- IIS7性能优化
http://www.03389.com/BLOG/user1/qq66565841/archives/2014/2014112143553.html IIS7性能优化 IIS7 优化-网站请求并发数 ...
- ajax实现简单的点击左侧菜单,右侧加载不同网页
实现:ajax实现点击左侧菜单,右侧加载不同网页(在整个页面无刷新的情况下实现右侧局部刷新,用到ajax注意需要在服务器环境下运行,从HBuilder自带的服务器中打开浏览效果即可) 原理:ajax的 ...
- 【CS Round #43 D】Bad Triplet
[链接]点击打开链接 [题意] 给你n个点m条边的无权无向联通图; 让你找3个点A,B,C 使得A->B=B->C=A->C 这里X->Y表示点X到点Y的最短路长度. [题解] ...
- Android多线程研究(6)——多线程之间数据隔离
在上一篇<Android多线程研究(5)--线程之间共享数据>中对线程之间的数据共享进行了学习和研究,这一篇我们来看看怎样解决多个线程之间的数据隔离问题,什么是数据隔离呢?比方说我们如今开 ...