一、处理数据的基本内容

数据分析

是指对数据进行控制、处理、整理、分析的过程。
在这里,“数据”是指结构化的数据,例如:记录、多维数组、Excel 里的数据、关系型数据库中的数据、数据表等。

二、说说 Python 这门语言

Python 是现在最受欢迎的动态编程语言之一(还有 Perl、Ruby 等)。近些年非常流行用 Python 建站,比如流行的 Python Web 框架 Django。
Python 这类语言被称为脚本语言,因为它们可以编写简短粗糙的小程序,即脚本。不过这好像在说 Python 无法构建严谨的软件似的,其实经过几年来不断改良,

Python 不但拥有强大的数据处理功能,而且完全可以用它构建生产系统

不过由于 Python 是一种解释型语言,

大部分 Python 代码都要比编译型语言(比如 C++ 和 Java)的代码慢得多

。所以在那些要求延迟非常小的应用中,为了尽最大可能优化性能,使用 C++ 这种更低级且低生产率的语言更值得。

对于高并发、多线程的应用程序,Python 也不是一种理想的编程语言

,这是因为 Python 有一个叫 GIL(全局解释器锁)的东西,这是一种防止解释器同时执行多条Python 字节码指令的机制。这并不是说 Python 不能执行真正多线程并行代码,只不过这些代码不能在单个 Python 进程中执行而已。

三、与数据分析相关的 Python 库


NumPy
NumPy 是 Python 科学计算的基础包,它提供:
  • 快速高效的多维数组对象 ndarray;
  • 直接对数组执行数学运算及对数组执行元素级计算的函数;
  • 线性代数运算、随机数生成;
  • 将 C、C++、Fortran 代码集成到 Python 的工具等。
它专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA 用其处理一些本来使用 C++,Fortran 或Matlab 等所做的任务。

Pandas
Pandas 主要提供快速便捷地处理结构化数据的大量数据结构和函数。

Matplotlib
Matplotlib 是最流行的用于绘制数据图表的 Python 库。

IPython
IPython 是 Python 科学计算标准工具集的组成部分,是一个增强的 Python Shell,目的是提高编写、测试、调试 Python 代码的速度。主要用于交互式数据处理和利用matplotlib 对数据进行可视化处理。

SciPy

SciPy 是一组专门解决科学计算中各种标准问题域的包的集合。主要包括以下包:

  • scipy.integrate: 数值积分例程和微分方程求解器;
  • scipy.linalg: 扩展了由 numpy.linalg 提供的线性代数例程和矩阵分解功能;
  • scipy.optimize: 函数优化器以及根查找算法;
  • scipy.signal: 信号处理工具;
  • scipy.sparse: 稀疏矩阵和稀疏线性系统求解器;
  • scipy.special: SPECFUN(这是一个实现了许多常用数学函数的 Fortran 库)的包装器。
  • scipy.stats: 标准连续和离散概率分布、各种统计检验方法和更好的描述统计法;
  • scipy.weave: 利用内联 C++ 代码加速数组计算的工具。

四、环境安装与配置

很简单,以 Mac OS X 系统安装步骤为例:
  1. 首先需要安装 Xcode,为了使用 gcc C 和 C++ 编译器
  2. 下载并安装 Unthought Canopy(下载地址:https://store.enthought.com/downloads/)

    Unthought Canopy 是面向科学计算的 Python 安装包,已包含 NumPy, SciPy, Pandas, Matplotlib, IPython 等库。

检测是否安装成功:
启动 IPython,导入 pandas 并输入 plot(arange(100)),如果弹出一个包含一条直线的绘图框即表示安装成功。
打开 Terminal:
包含一条直线的绘图框:
 

利用Python进行数据分析(1) 简单介绍的更多相关文章

  1. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

  2. 利用Python进行数据分析(9) pandas基础: 汇总统计和计算

    pandas 对象拥有一些常用的数学和统计方法.   例如,sum() 方法,进行列小计:   sum() 方法传入 axis=1 指定为横向汇总,即行小计:   idxmax() 获取最大值对应的索 ...

  3. 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作

    一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...

  4. 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍

    一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...

  5. 利用Python进行数据分析——重要的Python库介绍

    利用Python进行数据分析--重要的Python库介绍 一.NumPy 用于数组执行元素级计算及直接对数组执行数学运算 线性代数运算.傅里叶运算.随机数的生成 用于C/C++等代码的集成 二.pan ...

  6. 利用python进行数据分析——(一)库的学习

    总结一下自己对python常用包:Numpy,Pandas,Matplotlib,Scipy,Scikit-learn 一. Numpy: 标准安装的Python中用列表(list)保存一组值,可以用 ...

  7. $《利用Python进行数据分析》学习笔记系列——IPython

    本文主要介绍IPython这样一个交互工具的基本用法. 1. 简介 IPython是<利用Python进行数据分析>一书中主要用到的Python开发环境,简单来说是对原生python交互环 ...

  8. 利用python进行数据分析之pandas入门

    转自https://zhuanlan.zhihu.com/p/26100976 目录: 5.1 pandas 的数据结构介绍5.1.1 Series5.1.2 DataFrame5.1.3索引对象5. ...

  9. 利用Python进行数据分析-Pandas(第一部分)

    利用Python进行数据分析-Pandas: 在Pandas库中最重要的两个数据类型,分别是Series和DataFrame.如下的内容主要围绕这两个方面展开叙述! 在进行数据分析时,我们知道有两个基 ...

随机推荐

  1. 【原】AFNetworking源码阅读(二)

    [原]AFNetworking源码阅读(二) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中我们在iOS Example代码中提到了AFHTTPSessionMa ...

  2. .NET Core的日志[5]:利用TraceSource写日志

    从微软推出第一个版本的.NET Framework的时候,就在“System.Diagnostics”命名空间中提供了Debug和Trace两个类帮助我们完成针对调试和跟踪信息的日志记录.在.NET ...

  3. 初探Vue

    Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...

  4. 来吧,HTML5之基础标签(上)

    什么是html5 HTML 5 是下一代的 HTML.HTML5 仍处于完善之中.然而,大部分现代浏览器已经具备了某些 HTML5 支持. 学习过程中标签的理解 <a>标签  定义超链接, ...

  5. 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)

    很多的软件项目中都会使用到定时任务.定时轮询数据库同步,定时邮件通知等功能..NET Framework具有“内置”定时器功能,通过System.Timers.Timer类.在使用Timer类需要面对 ...

  6. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  7. Spring Quartz实现任务调度

    任务调度 在企业级应用中,经常会制定一些"计划任务",即在某个时间点做某件事情 核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作 任务调度涉及多线程并发.线程池维 ...

  8. Vue.js——60分钟组件快速入门(上篇)

    组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HTML ...

  9. Membership三步曲之入门篇 - Membership基础示例

    Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 -  Membership基础示例 Membership三步曲之进阶篇 -  深入剖析Pro ...

  10. CSharpGL(28)得到高精度可定制字形贴图的极简方法

    CSharpGL(28)得到高精度可定制字形贴图的极简方法 回顾 以前我用SharpFont实现了解析TTF文件从而获取字形贴图的功能,并最终实现了用OpenGL渲染文字. 使用SharpFont,美 ...