内容简介
数据分析是一个快速发展的领域,而Python已经演变成数据科学的主要语言,广泛应用于数据分析、可视化和机器学习等领域。本书从数据分析的基础内容入手,比如matplotlib、NumPy和Pandas库,介绍如何通过选择色彩图和调色板来创建可视化,之后深入统计数据分析,将帮助你掌握Spark和HDFS,为网络挖掘创建可迁移脚本。本书还详细阐述如何评价股票,检测市场有效性,使用指标和聚类等,并且还将使用多线程实现并行性,并加速你的代码。在本书结束时,读者将能够运用各种Python中的数据分析技术,并针对问题场景设计解决方案。
目录
Contents?目录译者序前言第1章为可重复的数据分析奠定基础11.1简介11.2安装Anaconda21.3安装数据科学工具包31.4用virtualenv和virtualenvwrapper创建Python虚拟环境51.5使用Docker镜像沙盒化Python应用61.6在IPythonNotebook中记录软件包的版本和历史81.7配置IPython111.8学习为鲁棒性错误校验记录日志131.9为你的代码写单元测试161.10配置pandas181.11配置matplotlib201.12为随机数生成器和NumPy打印选项设置种子231.13使报告、代码风格和数据访问标准化24第2章创建美观的数据可视化282.1简介282.2图形化安斯库姆四重奏282.3选择Seaborn的调色板312.4选择matplotlib的颜色表332.5与IPythonNotebook部件交互352.6查看散点图矩阵382.7通过mpld3使用d3.js进行可视化402.8创建热图412.9把箱线图、核密度图和小提琴图组合442.10使用蜂巢图可视化网络图452.11显示地图472.12使用类ggplot2图492.13使用影响图高亮数据51第3章统计数据分析和概率533.1简介533.2将数据拟合到指数分布533.3将聚合数据拟合到伽马分布553.4将聚合计数拟合到泊松分布573.5确定偏差593.6估计核密度613.7确定均值、方差和标准偏差的置信区间643.8使用概率权重采样663.9探索极值683.10使用皮尔逊相关系数测量变量之间的相关性713.11使用斯皮尔曼等级相关系数测量变量之间的相关性743.12使用点二列相关系数测量二值变量和连续变量的相关性773.13评估变量与方差分析之间的关系78第4章处理数据和数值问题814.1简介814.2剪辑和过滤异常值814.3对数据进行缩尾处理844.4测量噪声数据的集中趋势854.5使用Box-Cox变换进行归一化884.6使用幂阶梯转换数据904.7使用对数转换数据914.8重组数据934.9应用logit()来变换比例954.10拟合鲁棒线性模型974.11使用加权最小二乘法考虑方差994.12使用任意精度进行优化1014.13使用任意精度的线性代数103第5章网络挖掘、数据库和大数据1075.1简介1075.2模拟网页浏览1085.3网络数据挖掘1105.4处理非ASCII文本和HTML实体1125.5实现关联表1145.6创建数据库迁移脚本1175.7在已经存在的表中增加一列1175.8在表创建之后添加索引1185.9搭建一个测试Web服务器1205.10实现具有事实表和维度表的星形模式1215.11使用Hadoop分布式文件系统1265.12安装配置Spark1275.13使用Spark聚类数据128第6章信号处理和时间序列1326.1简介1326.2使用周期图做频谱分析1326.3使用Welch算法估计功率谱密度1346.4分析峰值1366.5测量相位同步1386.6指数平滑法1406.7评估平滑法1426.8使用Lomb-Scargle周期图1456.9分析音频的频谱1466.10使用离散余弦变换分析信号1496.11对时序数据进行块自举1516.12对时序数据进行动态块自举1536.13应用离散小波变换155第7章利用金融数据分析选择股票1597.1简介1597.2计算简单收益率和对数收益率1597.3使用夏普比率和流动性对股票进行排名1617.4使用卡玛和索提诺比率对股票进行排名1627.5分析收益统计1647.6将个股与更广泛的市场相关联1667.7探索风险与收益1697.8使用非参数运行测试检验市场1707.9测试随机游走1737.10使用自回归模型确定市场效率1757.11为股票价格数据库建表1777.12填充股票价格数据库1787.13优化等权重双资产组合183第8章文本挖掘和社交网络分析1868.1简介1868.2创建分类的语料库1868.3以句子和单词标记化新闻文章1898.4词干提取、词形还原、过滤和TF-IDF得分1898.5识别命名实体1938.6提取带有非负矩阵分解的主题1948.7实现一个基本的术语数据库1968.8计算社交网络密度2008.9计算社交网络接近中心性2018.10确定中介中心性2028.11评估平均聚类系数2038.12计算图的分类系数2048.13获得一个图的团数2058.14使用余弦相似性创建文档图206第9章集成学习和降维2099.1简介2099.2递归特征消除2109.3应用主成分分析来降维2119.4应用线性判别分析来降维2139.5多模型堆叠和多数投票2149.6学习随机森林2179.7使用RANSAC算法拟合噪声数据2209.8使用Bagging来改善结果2229.9用于更好学习的Boosting算法2249.10嵌套交叉验证2279.11使用joblib重用模型2299.12层次聚类数据2319.13Theano之旅232第10章评估分类器、回归器和聚类23510.1简介23510.2直接使用混淆矩阵分类23510.3计算精度、召回率和F1分数23
前言/序言
前言?Preface数据分析是Python的杀手锏。 ——匿名本书是《PythonDataAnalysis》的后续。那么在《PythonDataAnalysis》已经足够优秀(我愿意这么认为)的情况下,这本书有哪些新的内容吗?本书是针对那些有一定经验的Python程序员写的。一年时间过去了,因此,我们将使用在《PythonDataAnalysis》中没有用到的一些更新版本的软件和软件库。另外,经过深入反思和调研,我做出了以下的总结: 为了减轻自己的负担,同时提高代码的可重复使用率,我需要一个工具箱,我将这个工具箱命名为dautil并将它发布到了Pypi上(可以通过pip/easy_install安装)。 通过反省,我深信需要简化获取和安装所需要的软件的过程,因此我通过DockerHub发布了一个包含了我们需要用到的软件的Docker容器(pydacbk),在本书的第1章和线上章节中你将了解更多关于如何安装的细节。这个Docker容器还是不够理想,因为它的体积已经相当大,所以我需要做出一些艰难的决定。因为这个容器并不是本书的一部分,所以如果你有任何问题可以直接与我联系,但是请记住我不会对镜像做很大的修改。 本书会使用IPythonNotebook,这个工具已经成为数据分析时的标准工具。在线上章节以及我写的其他书中,我已经给出了一些和IPythonNotebook相关的建议。 除了极少数案例外,本书中我主要使用的是Python3,因为2020年后官方将不再支持Python2。 为什么需要这本书有人会说你并不需要书籍,你只需要去做一个感兴趣的项目,然后在做项目的同时就会搞明白那些东西。但是尽管接触到大量的资源,这个过程可能还是会令你感到沮丧。打个比方,如果想烹调一碗美味的汤,你可以去向朋友和家人寻求帮助,上网搜索或者收看烹饪节目,但是朋友和家人不会一直在你身边,网络上的内容也是良莠不齐。以我的浅见,出版社、审稿人和作者都在这本书上花费了大量的时间和精力,如果你不能从中有所收获我会感到很诧异。 数据分析、数据科学、大数据——有什么了不起的你应该看过将数据科学用数学/统计学、计算机科学以及专业领域的知识进行描述的维恩图(Venndiagram)。数据分析是永恒的,它出现在数据科学之前,甚至是计算机科学之前。你可以用笔和纸或者更先进的便携计算器进行数据分析。 数据分析体现在很多方面,比如说以做出决策或提出新的假设和问题为目的进行数据分析。数据科学以及大数据的热潮、高待遇以及经济回报让我想起了当数据存储和商业智能还是时髦词的年代。商业智能和数据存储的终极目标是构建应用于管理的可视化图表。这涉及很多政治和组织方面的利益,但是从技术的角度来看,这主要还是和数据库相关。数据科学则不是以数据库为中心,而是很大程度上依赖于机器学习。由于数据的量在不断地变多,机器学习变得越来越不可或缺。数据大量增长的背后是人口的快速增长以及新技术的层出不穷,比如说社交媒体和移动设备的出现。事实上,数据增长可能是我们唯一可以肯定的将一直持续的趋势。构建可视化图表和应用机器学习的区别就类似于搜索引擎的演进。 搜索引擎(如果可以这么称呼)最初只是手动创建的组织良好的链接集合。而最终,纯自动的方式取代了前者。当下,更多的数据将会被创建(而不是被销毁),我们可以预见自动化数据分析领域的增长。 Python数据分析的简要历程各个Python软件库的历史十分有趣,但我不是一个历史学家,所以下面的记录主要从我的视角来写: 1989年:GuidoVanRossum在荷兰的CWI实现了Python的第一个版本,当时是作为一个圣诞节的“兴趣”项目。 1995年:JimHugunin创建了Numeric——Numpy的前身。 1999年:PearuPeterson写了f2py作为连接Fortran和Python的桥梁。 2000年:Python2.0发布。 2001年:SciPy库发布,同期创建的还有与Numeric竞争的库Numarray。FernandoPerez发布了IPython,它最初是以“午后黑客”(afternoonhack)的名义发布的。NLTK(自然语言工具包)发布且用于研究项目。 2002年:JohnHunter创建了Matplotlib库。 2005年:TravisOliphant发布了NumPy,NumPy最初是受Numarray启发而对Numeric进行扩展的库。 2006年:NumPy1.0发布,第1版SQLAlchemy发布。 2007年:DavidCournapeau将scikit-learn作为GoogleSummerofCode的项目,Cy-thon在Pyrex的基础上开始开发,Cython后来集中用在了pandas和scikit-learn上以提升性能。 2008年:WesMcKinney开始开发pandas,Python3.0发布。 2011年:IPython0.12发行版本中引入了IPythonNotebook,Packt出版社出版了《NumPy1.5BeginnersGuide》。 2012年:Packt出版社出版了《NumPyCookbook》。 2013年:Packt出版社出版了第2版的《NumPyBeginnersGuide》。 2014年:FernandoPerez宣布了Jupyter项目,致力于开发与语言无关的Notebook,Packt出版社出版了《LearningNumPyArray》和《PythonDataAnalysis》。 2015年:Packt出版社出版了第3版的《NumPyBeginnersGuide》以及第2版的《NumPyCookbook》。
Python数据分析实战 电子书 下载 mobi epub pdf txt