【读书笔记】《利用Python进行数据分析》第2版_第一章

第一章 准备工作

1.1 本书内容

常见数据形式

  • 表格型的数据,每一列可能会包含不同的类型(字符串、数值、日期或其他)。
  • 多维数组(矩阵)。
  • 由键位列关联的多张表数据(对于SQL用户来说就是主键或外键)。
  • 均匀或非均匀的时间序列。

1.2 为何利用Python进行数据分析

  • Python作为胶水,整合C、C++等语言的代码
  • 解决“双语言”难题:使用相同程序工具集来兼顾研究人员和软件工程师的好处越发明显。
  • 当搭建高并发、多线程应用,尤其是多CPU绑定线程时,使用Python则会成为一项挑战。原因在于Python拥有全局解释器锁(GIL),这是一种防止解释器同时执行多个Python指令的机制。当搭建高并发、多线程应用,尤其是多CPU绑定线程时,使用Python则会成为一项挑战。原因在于Python拥有全局解释器锁(GIL),这是一种防止解释器同时执行多个Python指令的机制。

1.3 重要的Python库

Numpy

  • NumPy(http://numpy.org)是Numerical Python的简写,是Python数值计算的基石。
  • NumPy赋予Python的快速数组处理能力。
  • 对于数值数据,NumPy数组能够比Python内建数据结构更为高效地存储和操作数据。
  • 用底层语言编写的库可以在NumPy数组存储的数据上直接操作,而无须将数据复制到其他内存中后再操作。

Pandas

  • pandas(http://pandas.pyda ta.org)提供了高级数据结构和函数
  • 在本书中主要使用的pandas对象是DataFrame,它是用于实现表格化、面向列、使用行列标签的数据结构;以及Series,一种一维标签数组对象。
  • pandas尤其擅长深度时间序列和处理商业进程中产生的时间索引数据

matplotlib

  • matplotlib(http://matplotlib.org)是最流行的用于制图及其他二维数据可视化的Python库

IPython与Jupyter

  • IPython使用执行-探索工作流来替代其他语言典型的编辑-编译-运行工作流
  • 本书所有章节代码:http://github.com/wesm/pydata-book

SciPy

  • SciPy(http://scipy.org)是科学计算领域针对不同标准问题域的包集合,SciPy与NumPy一起为很多传统科学计算应用提供了一个合理、完整、成熟的计算基础。

  • scipy.integrate  #数值积分例程和微分方程求解器
    scipy.linalg  #线性代数例程和基于numpy.linalg的矩阵分解
    scipy.optimize  #函数优化器(最小化器)和求根算法
    scipy.signal  #信号处理工具
    scipy.sparse  #稀疏矩阵与稀疏线性系统求解器
    scipy.special  #SPECFUN的包装器。SPECFUN是Fortran语言下实现通用数据函数的包,例如gamma函数。
    scipy.stats  #标准的连续和离散概率分布(密度函数、采样器、连续分布函数)、各类统计测试、各类描述性统计。
    

scikit-learn

  • http://scikit-learn.org:机器学习工具包
  • 分类:SVM、最近邻、随机森林、逻辑回归等
  • 回归:Lasso、岭回归等
  • 聚类:k-means、谱聚类等·
  • 降维:PCA、特征选择、矩阵分解等
  • 模型选择:网格搜索、交叉验证、指标矩阵
  • 预处理:特征提取、正态化

statsmodels

  • statsmodels(http://statsmodels.org)是一个统计分析包,为R语言公式系统所驱动的statsmodels包提供公式、模型规范框架。
  • 与scikit-learn相比,statsmodels包含经典的(高频词汇)统计学、经济学算法。
    • 方差分析(ANOVA)
    • 时间序列分析:AR、ARMA、ARIMA、VAR等模型
    • 非参数方法:核密度估计、核回归
    • 统计模型结果可视化
  • statsmodels更专注于统计推理,提供不确定性评价和p值参数。相反,scikit-learn更专注于预测。

1.4 安装与配置

Windows

  • 下载安装Anaconda:http://anaconda.com/downloads
  • 查看设置是否正确,在命令行中输入python启动python解释器,应该可以看到符合你下载的Anaconda版本的信息。
  • 退出命令行:Ctrl-D(Linux或macOS)/ Ctrl-Z(Windows),或者输入exit()

Apple(OS X和macOS)

GNU/Linux

安装及更新Python包

  • 通常通过以下命令进行安装:

    conda install package_name
    
  • 使用pip包管理工具进行安装:

    pip install package_name
    
  • 使用conda update命令来更新包:

    conda update package_name
    
  • pip还支持通过–upgrade标识升级:

    pip install --upgrade package_name
    

同时使用conda和pip进行包安装时,请不要尝试使用pip更新conda安装的包,否则可能会导致环境问题。

当使用Anaconda或者Miniconda时,最好还是使用conda进行更新。

1.5 社区和会议

1.6 快速浏览本书

示例数据

  • 每章的示例数据托管在GitHub仓库:http://github.com/wesm/pydata-book
  • 关于如何获得本书资料的最新指引:http://wesmckinney.com

导入约定

  • 一次性从像NumPy这样的大包中引入所有内容(from numpyimport *)在Python软件开发中被认为是拙劣实践。

  • import numpy as np
    import matplotlib.pyplot as plt
    import pandas as pd
    import seaborn as sns
    import statsmodels as sm
    

术语

  • 处理/处置/规整(munge/munging/wrangling)
    • 将非结构化或者同时又很凌乱的数据整理成结构化、清晰形式的整个过程。
  • 伪代码
    • 将非结构化或者同时又很凌乱的数据整理成结构化、清晰形式的整个过程。
  • 语法糖
    • 并不增加新特性,但便利于代码编写的编程语法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值