利用Python进行数据分析(第2版)

利用Python进行数据分析(第2版) PDF 清晰版

  • 大小:91.7 MB
  • 类型:Python
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:韦斯?麦金尼
  • 更新:2020-06-16 11:30:01
版权投诉 / 资源反馈(本资源由用户 衡孤丹 投稿)

为网友们分享了Python相关的资料,由机械工业出版社出版,作者是韦斯?麦金尼,介绍了关于Python、数据分析方面,格式为PDF,资源大小91.7 MB,目前在Python类资源综合评分为:7.7分。

读者评价

网友NO.44923
籍慧玲
一年前看过这本书,当时我还是一个Python小白,因为没有编程基础,连基本的语法都不会。所以最开始看这本书,就在第二章Ipython编译器这里卡了很久。在网上搜索各种信息后,安装了Anaconda3和jupyter notebook后,算是可以实现书的程序了。 然而,在第一章里就有部分语法是不支持Python3的,而我用的则是Python3,面对红色的报错,令人感动沮丧。因为当时我还不知道原因,只是觉得明明写的一样啊,为什么会报错,感觉编程太难了,好容易就出问题。 然后硬着头皮看了第四章,numpy的用法,终于感觉到学到了一点东西。不过因为作者写的很繁杂,在这章最后面那里已经快要看不下去了。然后,第一看就到此为止了,我感觉对Python的学习失去了兴趣。 第二次在捡起这本书,忘了是几个月后了,因为写论文的原因要用到Python的pandas包,所以硬着头皮又回来看第五章,pandas包的介绍。这次看感觉好多了,因为有了一定的numpy基础和心理预期,用了几天时间把pandas这章所有的程序跟着敲了一遍。学到了不少,但是因为写的有些杂乱,真要用的时候还是要回去参考语法。不过在写过很多次之后,现在pandas包的很多语法我已经可以闭着眼睛写出来了。然后第二次看到这里就没再往下看了,因为我当时用的基本就只是pandas而已。 第三次,就是这次了。我觉得还是要把这本书完完整整的看过。于是又捡起来,从第一章开始看,看了大部分。因为有的章节的语法依赖于Python2,金融数据那一章读取股票数据连不上,所以放弃了部分内容,但是应该影响不大。大部分都跟着打了一遍,总共打了几千行代码,删除没用和打错的,最后留下来不到1000行代码,存在了我的Jupyter Notebook里了。 这次的收货蛮大的。首先,第一章引用了不少例子,给我看到了数据分析的一个具体案例,其中最令我眼前一亮的就是一个案例中,它读取了一个文件夹里所有的文件,文件有年份的规律,写了一个很简单的循环,就把他们全部读取并且合并成一个表。我想如果是我的话,也能完成这一目标,但是语法会写的很烂,很杂,又把握不到精髓。 后面的章节,numpy、pandas都讲的不错。其中,pandas确实是处理数据的一个神器,如果用的好,它比Excel还要方便。除了基本的用法,它有分组groupby和数据透视表pivot_table两个工具,可以再写自己的函数,应用于此。这样一来就比Excel里面不断地调整设置方便了。 然后还有一些部分,包括数据预处理、数据存储、绘图等也要看一遍,虽然有的用不到,但是了解一下也不错。 Python的东西,就是学起来快,但是忘起来也快。很多语法今天写了,明天就忘光光了。尤其是我用pandas这个包,最基本的打开语法都是用过好几遍才记住的,不过一段时间不用还是会不熟悉,容易忘。 这次的阅读,我做了很详细的笔记,用Jupyter Notebook。并且一页一页把他们截图下来,保存在了我的手机相册里,另存为一个相册集。打算每天复习一遍,目前从开始阅读,就每天复习了已经学过的,大概已经坚持了10天多了(中间间断过几天)。 准备下个月要每天复习一次,可以慢慢加深印象,而且复习越多速度越快,其实不占太多时间。 总体来说,这本书对于Python小白,又想做数据处理的人来说是不错的入门书籍。对于已经有一定Python数据处理经验的人来说也可以当做参考。 这本书的缺点就是写的很杂,不过不这样写,又能怎么写呢?如果让我来写,可能也会写成这个样子,放很多很多的例子在上面,就是零碎的。所以缺点也是它的优点吧。
网友NO.49227
庾哲茂
这本书是Pandas的模块作者写的书。 总的来说Python提供了很多方便,但是这种方便还是需要付出一定的学习成本的。使用Pandas可以把Python基本当作R用 用NumPy和SymPy还有SciPy把Python当作Matlab用。但是目前所有这些模块都还在开发阶段所以有很多问题需要解决,用户体验并不是非常友好,尤其是数据类型和能否改变数据值等等细节会让人特别累。 还有一个大问题是现在并没有专门针对Python数据分析提供的很好的IDE Pythonxy和Canopy Express都各有千秋但是都不够好,作为数据分析能够直接查看数据是很重要的,现在只有pythonxy支持variable explorer但是,而如果直接在IPython中查看数据的话会很不直观,除了pandas的dataframe会很直观以外,有一些简单的操作可能会因此变得非常复杂,而且用户缺乏对数据结构的直观观测很可能会产生一些非常微妙的bug。 另外每种模块中拓展的数据对象都有类似的成员函数,但是是用对象.成员函数调用还是直接调用函数造成的结果是不一样的。这主要是因为Python是面对大数据分析的,所以一个函数的结果到底是直接改变原有对象还是创建新对象不一定,创建的新对象跟原来的对象是不是引用或者只是一个复制,又不一定,各种包加进来之后会让事情变得很复杂。这些都是下一步需要解决的问题。 最后,IPyhon Notebook非常赞,但是不是所有人都会用Git并且创建一个gist,这就使得代码分享和可重复研究对于非职业程序员变得有点复杂,这不利于Python数据分析的发展。 总之路还很长,但是Python有很多好处,比如对于python的大部分拓展对象你都可以进行向量化操作,少写不少循环,代码会因此短而精干也易读,python可以从C++等语言输出端拿数据处理之后再返给C++和Fortran等,这些都意味无限的可能性。在我看来Python目前并不适合用来搞研究,倒是适合用来编写一个处理数据的胶水程序,而且并不是分析数据,而是重新整合数据使得它们更容易被分析。

书籍介绍

读者评价

利用python进行数据分析: 库 测试数据 IPython NumPy pandas 数据加载/存储/文件格式 数据规整化(清理/转换/合并/重塑) 绘图/可视化 数据聚合/分组运算 时间序列 金融/经济数据应用

看了此书,再回头看之前写project 从 StackOverflow 搬下来的看不懂的 code 都能看懂了

读完后,知道了数据分析那些流程,具体的python实现方式。这本书主要介绍了numpy和pandas模块,逻辑挺清晰的,实操性应该挺强。
不过啊,看代码的书实在是一件枯燥的事,看完也只是知道了。打代码,还是得有具体问题,直接开始干,才会比较有成就感。

自己还要补充网络爬虫、正则表达式相关知识,也要再系统学习python的语言基础。

这个是我看完后自己画的框架

内容介绍

本书由Python pandas项目创始人Wes McKinney亲笔撰写,详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas、NumPy、IPython和Jupyter,并增加大量实际案例,可以帮助你高效解决一系列数据分析问题。

第2版中的主要更新包括:

•所有的代码,包括把Python的教程更新到了Python 3.6版本(第1版中使用的是Python 2.7)

•更新了Python第三方发布版Anaconda和其他所需Python包的安装指引

•更新pandas库到2017年的新版

•新增一章,关于更多高级pandas工具和一些使用提示

•新增statsmodels和scikit-learn的简明使用介绍

内容节选

每一个数据分析师或是数据科学家都使用各自不同的技术栈。即使同样使用Python做为主力数据分析语言,每个人会用到的工具组合也不尽相同。

但不管怎么说,对于希望使用python来进行数据分析工作的人来说,学习iPython,NumPy,pandas,matpotlib这个组合是一个目前看来怎么都不会太错的方向。

本书恰好精确地涵盖了这几个方向。

本书的作者Wes McKinney正是pandas的主要作者。作者有多年的Python数据分析工作经验。除了pandas之外,作者对本书覆盖的这iPython,NumPy,pandas,matpotlib等也都有着很深的理解。

本书的结构比较特别。前两章是背景介绍。第三、四、五章分别介绍了一下iPython,NumPy,pandas。第六到十一章是一些比较具体的功能的介绍以及实例,以pandas的使用为主,中间却又插进了一个讲matplotlib的第八章。第十二章又回到NumPy。全书最后还附了一个大约三十页篇幅的

Python快速入门。

这个结构给人的感觉是作者在写这本书的时候有着很大的抱负:希望能把一个完全的新手带入Python数据分析的大门,即使这个新手在此之前对数据分析和Python都完全没有概念。

这种抱负对于一本不到五百页的教材不免有些过于宏大。一个明显的负面结果是第一、二章和后面的章节之间存在着较大的脱节。第一、二章的内容其实是适合于一个完全没有数据分析经验的新手的。但后面的章节对于新手来说则比较困难的:主要的困难不在于理解书中的技术,而在于真正领会到这些技术在实际中究竟有什么用。

作者并非没有意识到这个困难。事实上,他试图用贯穿全书的大量实例来化解这个困难。但是,事于愿违的是,这些实例反而造成了阅读上障碍:这些实例很可能是书中最为乏味无趣的部分。很难想象会有多少读者真正有耐心把所有实例从头到尾认真读完,更不用说,像作者所希望的那样,把这些实例一一重复一遍。

由于这个特点,对于初学者,这本书可能更适合作为配合课程使用的教材,而不是自学用的教材。比起重复书中的实例,与课程进度相配合的作业可能更能提高初学者的兴趣。

对于已经有一些Python数据分析经验的读者,这本书可能会显得较初级。但是,跳这些比较初级的部分,本书还有很多对于有经验的读者来说很有价值的内容。在我看来,这些特别有价值的内容集中在第四、五、八、十二章对NumPy,pandas,matpotlib等工具库的介绍中。由于作者对这些工具有着很深的理解,这些章节很好地阐述了这几个工具库的基本设计思路,而非简单地堆砌知识点。

在读这本书前,我对于这几个工具库各有一到两年的使用经验,但除了最初看过了一些入门tutorial之外,我并没有系统地学习过相关的内容,通常都是要使用某个功能时看文档或是实例。这本书中涉及到的大部分知识,我的工作中略有涉及过。但我确实感觉到,本书对于我真正理解这些库有很大的帮助。

最后,我手上这本书出版的时间是2012年(豆瓣上有2013版的信息,但我在amazon上似乎并没有看到),所以有些内容已经比较陈旧。以iPython为例,虽然第三章中用一小节简单介绍了iPython notebook,但绝大部分内容还是基于传统的命令行iPython,包括了大量在iPython notebook环境下并不适用的操作。但从我的身边的情况来看,现下的绝大部分iPython使用者都以Jupyter notebook(即iPython notebook)为主要工作环境,直接使用命令行iPython的用户已经很少了。

以下是分章节的评论。

1. Preliminaries
非常基础的知识,只要是稍有经验的读者都可以直接跳过。
2. Introductory Examples
通过一些实例来解释Python数据分析是做什么的、基本流程如何,主要的目的在于“引起读者的兴趣”。我觉得比起后面章节中的实例,这一章中的实例还比较有趣。
3. IPython: An Interactive Computing and Development Environment
介绍iPython。对于希望使用Jupyter notebook(即ipython notebook)的读者来说,可能不太够。
4. NumPy Basics: Arrays and Vectorized Computation
很不错的一章。特别难得的是,作者试图帮助读者真正理解NumPy的设计思路和构成逻辑,而不是简单地教会读者使用方法。行文很有条理。
5. Getting Started with pandas
很不错的一章,和上一章的感觉类似。考虑的本书作者的身份,这一章写得好是理所应当。
6. Data Loading, Storage, and File Formats
介绍如何读/写各种格式的文件。感觉和直接读文档其实差别不是很大。
7. Data Wrangling: Clean, Transform, Merge, Reshape
挺好的一章。内容稍多,但还是挺有用的。
8. Plotting and Visualization
主要介绍matplotlib。挺不错的一章,和第四、五章感觉类似。
9. Data Aggregation and Group Operations
比较有意思的一章,但有些过于复杂的使用方法,觉得用到的机会并不多。
10. Time Series
前一半不错,对初学者来说很有帮助。后一半比较细节和偏。
11. Financial and Economic Data Applications
感觉这章单独把financial和economic data的应用提出来其实意义不大,毕竟这只是data analysis的众多方向之一。而且,本章的知识点和前面几章的重复很多,基本上可以看做是前几章内容的实例练习。这章存在主要原因其实是作者的financial背景。
12. Advanced NumPy
很好的一章。对于想要真正掌握NumPy的读者,本章中的知识是很有价值的。不过由于本书总体偏入门级,本章虽然题为“Advanced NumPy”,实质上内容并不太“advanced”。

目录

  • 前言1
  • 第1章 准备工作7
  • 1.1 本书内容7
  • 1.1.1 什么类型的数据7
  • 1.2 为何利用Python进行数据分析8
  • 1.2.1 Python作为胶水8
  • 1.2.2 解决“双语言”难题8
  • 1.2.3 为何不使用Python9
  • 1.3 重要的Python库9
  • 1.3.1 NumPy9
  • 1.3.2 pandas10
  • 1.3.3matplotlib11
  • 1.3.4 IPython与Jupyter11
  • 1.3.5 SciPy12
  • 1.3.6scikit-learn12
  • 1.3.7statsmodels13
  • 1.4 安装与设置13
  • 1.4.1 Windows14
  • 1.4.2 Apple(OS X和macOS)14
  • 1.4.3 GNU/Linux14
  • 1.4.4 安装及更新Python包15
  • 1.4.5 Python 2和Python 316
  • 1.4.6 集成开发环境和文本编辑器16
  • 1.5 社区和会议17
  • 1.6 快速浏览本书17
  • 1.6.1 代码示例18
  • 1.6.2 示例数据18
  • 1.6.3导入约定18
  • 1.6.4术语19
  • 第2章 Python语言基础、IPython及Jupyter notebook20
  • 2.1 Python解释器21
  • 2.2 IPython基础22
  • 2.2.1 运行IPython命令行22
  • 2.2.2 运行 Jupyter notebook23
  • 2.2.3 Tab补全25
  • 2.2.4 内省27
  • 2.2.5 %run命令28
  • 2.2.6 执行剪贴板中的程序30
  • 2.2.7 终端快捷键30
  • 2.2.8 关于魔术命令31
  • 2.2.9 matplotlib集成33
  • 2.3 Python语言基础34
  • 2.3.1 语言语义34
  • 2.3.2 标量类型42
  • 2.3.3 控制流49
  • 第3章 内建数据结构、函数及文件54
  • 3.1 数据结构和序列54
  • 3.1.1 元组54
  • 3.1.2 列表57
  • 3.1.3 内建序列函数61
  • 3.1.4 字典64
  • 3.1.5集合67
  • 3.1.6 列表、集合和字典的推导式69
  • 3.2 函数72
  • 3.2.1 命名空间、作用域和本地函数72
  • 3.2.2 返回多个值73
  • 3.2.3 函数是对象74
  • 3.2.4 匿名(Lambda)函数75
  • 3.2.5 柯里化:部分参数应用76
  • 3.2.6 生成器77
  • 3.2.7 错误和异常处理79
  • 3.3 文件与操作系统82
  • 3.3.1 字节与Unicode文件85
  • 3.4 本章小结86
  • 第4章 NumPy基础:数组与向量化计算87
  • 4.1 NumPy ndarray:多维数组对象89
  • 4.1.1 生成ndarray90
  • 4.1.2 ndarray的数据类型92
  • 4.1.3 NumPy数组算术94
  • 4.1.4 基础索引与切片95
  • 4.1.5 布尔索引100
  • 4.1.6 神奇索引103
  • 4.1.7 数组转置和换轴104
  • 4.2 通用函数:快速的逐元素数组函数106
  • 4.3 使用数组进行面向数组编程109
  • 4.3.1 将条件逻辑作为数组操作110
  • 4.3.2 数学和统计方法111
  • 4.3.3 布尔值数组的方法113
  • 4.3.4 排序114
  • 4.3.5 唯一值与其他集合逻辑115
  • 4.4 使用数组进行文件输入和输出115
  • 4.5 线性代数116
  • 4.6 伪随机数生成118
  • 4.7 示例:随机漫步120
  • 4.7.1 一次性模拟多次随机漫步121
  • 4.8 本章小结122
  • 第5章 pandas入门123
  • 5.1 pandas数据结构介绍123
  • 5.1.1 Series123
  • 5.1.2DataFrame128
  • 5.1.3 索引对象134
  • 5.2 基本功能135
  • 5.2.1 重建索引136
  • 5.2.2 轴向上删除条目138
  • 5.2.3 索引、选择与过滤140
  • 5.2.4 整数索引144
  • 5.2.5 算术和数据对齐145
  • 5.2.6 函数应用和映射150
  • 5.2.7 排序和排名152
  • 5.2.8 含有重复标签的轴索引155
  • 5.3 描述性统计的概述与计算157
  • 5.3.1 相关性和协方差159
  • 5.3.2 唯一值、计数和成员属性161
  • 5.4 本章小结164
  • 第6章 数据载入、存储及文件格式165
  • 6.1 文本格式数据的读写165
  • 6.1.1 分块读入文本文件171
  • 6.1.2 将数据写入文本格式172
  • 6.1.3 使用分隔格式174
  • 6.1.4 JSON数据176
  • 6.1.5 XML和HTML:网络抓取177
  • 6.2 二进制格式180
  • 6.2.1 使用HDF5格式181
  • 6.2.2 读取Microsoft Excel文件183
  • 6.3 与Web API交互184
  • 6.4 与数据库交互186
  • 6.5 本章小结187
  • 第7章 数据清洗与准备188
  • 7.1 处理缺失值188
  • 7.1.1 过滤缺失值189
  • 7.1.2 补全缺失值191
  • 7.2 数据转换194
  • 7.2.1 删除重复值194
  • 7.2.2 使用函数或映射进行数据转换195
  • 7.2.3 替代值197
  • 7.2.4 重命名轴索引198
  • 7.2.5 离散化和分箱199
  • 7.2.6 检测和过滤异常值202
  • 7.2.7 置换和随机抽样203
  • 7.2.8 计算指标/虚拟变量204
  • 7.3 字符串操作207
  • 7.3.1 字符串对象方法208
  • 7.3.2 正则表达式210
  • 7.3.3 pandas中的向量化字符串函数213
  • 7.4 本章小结215
  • 第8章 数据规整:连接、联合与重塑216
  • 8.1 分层索引216
  • 8.1.1重排序和层级排序219
  • 8.1.2 按层级进行汇总统计220
  • 8.1.3 使用DataFrame的列进行索引220
  • 8.2 联合与合并数据集221
  • 8.2.1 数据库风格的DataFrame连接222
  • 8.2.2 根据索引合并226
  • 8.2.3 沿轴向连接230
  • 8.2.4 联合重叠数据235
  • 8.3 重塑和透视236
  • 8.3.1 使用多层索引进行重塑236
  • 8.3.2 将“长”透视为“宽”240
  • 8.3.3 将“宽”透视为“长”242
  • 8.4 本章小结244
  • 第9章 绘图与可视化245
  • 9.1 简明matplotlib API入门245
  • 9.1.1 图片与子图246
  • 9.1.2 颜色、标记和线类型250
  • 9.1.3 刻度、标签和图例252
  • 9.1.4 注释与子图加工255
  • 9.1.5 将图片保存到文件258
  • 9.1.6 matplotlib设置258
  • 9.2 使用pandas和seaborn绘图259
  • 9.2.1 折线图259
  • 9.2.2 柱状图262
  • 9.2.3 直方图和密度图266
  • 9.2.4 散点图或点图269
  • 9.2.5 分面网格和分类数据270
  • 9.3 其他Python可视化工具271
  • 9.4 本章小结272
  • 第10章 数据聚合与分组操作274
  • 10.1 GroupBy机制274
  • 10.1.1 遍历各分组278
  • 10.1.2 选择一列或所有列的子集279
  • 10.1.3 使用字典和Series分组280
  • 10.1.4 使用函数分组281
  • 10.1.5 根据索引层级分组282
  • 10.2 数据聚合282
  • 10.2.1 逐列及多函数应用284
  • 10.2.2 返回不含行索引的聚合数据287
  • 10.3 应用:通用拆分-应用-联合288
  • 10.3.1 压缩分组键290
  • 10.3.2 分位数与桶分析291
  • 10.3.3 示例:使用指定分组值填充缺失值292
  • 10.3.4 示例:随机采样与排列294
  • 10.3.5 示例:分组加权平均和相关性296
  • 10.3.6 示例:逐组线性回归298
  • 10.4 数据透视表与交叉表298
  • 10.4.1 交叉表:crosstab301
  • 10.5 本章小结302
  • 第11章 时间序列303
  • 11.1 日期和时间数据的类型及工具303
  • 11.1.1 字符串与datetime互相转换305
  • 11.2 时间序列基础307
  • 11.2.1 索引、选择、子集308
  • 11.2.2 含有重复索引的时间序列311
  • 11.3 日期范围、频率和移位312
  • 11.3.1 生成日期范围313
  • 11.3.2 频率和日期偏置316
  • 11.3.3 移位(前向和后向)日期317
  • 11.4 时区处理320
  • 11.4.1 时区的本地化和转换320
  • 11.4.2 时区感知时间戳对象的操作323
  • 11.4.3 不同时区间的操作324
  • 11.5 时间区间和区间算术324
  • 11.5.1 区间频率转换326
  • 11.5.2 季度区间频率327
  • 11.5.3 将时间戳转换为区间(以及逆转换)329
  • 11.5.4 从数组生成PeriodIndex330
  • 11.6 重新采样与频率转换332
  • 11.6.1 向下采样334
  • 11.6.2 向上采样与插值336
  • 11.6.3 使用区间进行重新采样337
  • 11.7 移动窗口函数339
  • 11.7.1 指数加权函数342
  • 11.7.2 二元移动窗口函数343
  • 11.7.3 用户自定义的移动窗口函数344
  • 11.8 本章小结344
  • 第12章 高阶pandas346
  • 12.1 分类数据346
  • 12.1.1 背景和目标346
  • 12.1.2 pandas中的Categorical类型348
  • 12.1.3 使用Categorical对象进行计算350
  • 12.1.4 分类方法352
  • 12.2 高阶GroupBy应用355
  • 12.2.1 分组转换和“展开”GroupBy355
  • 12.2.2 分组的时间重新采样359
  • 12.3 方法链技术361
  • 12.3.1 pipe方法362
  • 12.4 本章小结363
  • 第13章 Python建模库介绍364
  • 13.1 pandas与建模代码的结合364
  • 13.2 使用Patsy创建模型描述367
  • 13.2.1 Patsy公式中的数据转换369
  • 13.2.2 分类数据与Patsy371
  • 13.3 statsmodels介绍373
  • 13.3.1 评估线性模型374
  • 13.3.2 评估时间序列处理377
  • 13.4 scikit-learn介绍377
  • 13.5 继续你的教育381
  • 第14章 数据分析示例382
  • 14.1 从Bitly获取1.USA.gov数据382
  • 14.1.1 纯Python时区计数383
  • 14.1.2 使用pandas进行时区计数385
  • 14.2 MovieLens 1M数据集392
  • 14.2.1 测量评价分歧396
  • 14.3 美国1880~2010年的婴儿名字397
  • 14.3.1分析名字趋势402
  • 14.4 美国农业部食品数据库410
  • 14.5 2012年联邦选举委员会数据库416
  • 14.5.1 按职业和雇主的捐献统计419
  • 14.5.2 捐赠金额分桶421
  • 14.5.3 按州进行捐赠统计423
  • 14.6 本章小结424
  • 附录A 高阶NumPy425
  • 附录B 更多IPython系统相关内容457

以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

精选笔记:分享一下Python数据分析常用的8款工具

13小时22分钟前回答

Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具,需要的朋友可以参考下

Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性。Python可用于数据分析,但其单纯依赖Python本身自带的库进行数据分析还是具有一定的局限性的,需要安装第三方扩展库来增强分析和挖掘能力。

分享一下Python数据分析常用的8款工具

Python数据分析需要安装的第三方扩展库有:Numpy、Pandas、SciPy、Matplotlib、Scikit-Learn、Keras、Gensim、Scrapy等,以下是千锋武汉Python培训老师对该第三方扩展库的简要介绍:

1. Pandas

Pandas是Python强大、灵活的数据分析和探索工具,包含Series、DataFrame等高级数据结构和工具,安装Pandas可使Python中处理数据非常快速和简单。

Pandas是Python的一个数据分析包,Pandas最初被用作金融数据分析工具而开发出来,因此Pandas为时间序列分析提供了很好的支持。

Pandas是为了解决数据分析任务而创建的,Pandas纳入了大量的库和一些标准的数据模型,提供了高效的操作大型数据集所需要的工具。Pandas提供了大量是我们快速便捷的处理数据的函数和方法。Pandas包含了高级数据结构,以及让数据分析变得快速、简单的工具。它建立在Numpy之上,使得Numpy应用变得简单。

带有坐标轴的数据结构,支持自动或明确的数据对齐。这能防止由于数据结构没有对齐,以及处理不同来源、采用不同索引的数据而产生的常见错误。

使用Pandas更容易处理丢失数据。
合并流行数据库(如:基于SQL的数据库)
Pandas是进行数据清晰/整理的最好工具。

2. Numpy

Python没有提供数组功能,Numpy可以提供数组支持以及相应的高效处理函数,是Python数据分析的基础,也是SciPy、Pandas等数据处理和科学计算库最基本的函数功能库,且其数据类型对Python数据分析十分有用。

Numpy提供了两种基本的对象:ndarray和ufunc。ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数。Numpy的功能:

  • N维数组,一种快速、高效使用内存的多维数组,他提供矢量化数学运算。

  • 可以不需要使用循环,就能对整个数组内的数据进行标准数学运算。

  • 非常便于传送数据到用低级语言编写(C\C++)的外部库,也便于外部库以Numpy数组形式返回数据。

Numpy不提供高级数据分析功能,但可以更加深刻的理解Numpy数组和面向数组的计算。

3. Matplotlib

Matplotlib是强大的数据可视化工具和作图库,是主要用于绘制数据图表的Python库,提供了绘制各类可视化图形的命令字库、简单的接口,可以方便用户轻松掌握图形的格式,绘制各类可视化图形。

Matplotlib是Python的一个可视化模块,他能方便的只做线条图、饼图、柱状图以及其他专业图形。
使用Matplotlib,可以定制所做图表的任一方面。他支持所有操作系统下不同的GUI后端,并且可以将图形输出为常见的矢量图和图形测试,如PDF SVG JPG PNG BMP GIF.通过数据绘图,我们可以将枯燥的数字转化成人们容易接收的图表。
Matplotlib是基于Numpy的一套Python包,这个包提供了吩咐的数据绘图工具,主要用于绘制一些统计图形。
Matplotlib有一套允许定制各种属性的默认设置,可以控制Matplotlib中的每一个默认属性:图像大小、每英寸点数、线宽、色彩和样式、子图、坐标轴、网个属性、文字和文字属性。

4. SciPy

SciPy是一组专门解决科学计算中各种标准问题域的包的集合,包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算等,这些对数据分析和挖掘十分有用。

Scipy是一款方便、易于使用、专门为科学和工程设计的Python包,它包括统计、优化、整合、线性代数模块、傅里叶变换、信号和图像处理、常微分方程求解器等。Scipy依赖于Numpy,并提供许多对用户友好的和有效的数值例程,如数值积分和优化。

Python有着像Matlab一样强大的数值计算工具包Numpy;有着绘图工具包Matplotlib;有着科学计算工具包Scipy。
Python能直接处理数据,而Pandas几乎可以像SQL那样对数据进行控制。Matplotlib能够对数据和记过进行可视化,快速理解数据。Scikit-Learn提供了机器学习算法的支持,Theano提供了升读学习框架(还可以使用CPU加速)。

5. Keras

Keras是深度学习库,人工神经网络和深度学习模型,基于Theano之上,依赖于Numpy和Scipy,利用它可以搭建普通的神经网络和各种深度学习模型,如语言处理、图像识别、自编码器、循环神经网络、递归审计网络、卷积神经网络等。

6. Scikit-Learn

Scikit-Learn是Python常用的机器学习工具包,提供了完善的机器学习工具箱,支持数据预处理、分类、回归、聚类、预测和模型分析等强大机器学习库,其依赖于Numpy、Scipy和Matplotlib等。

Scikit-Learn是基于Python机器学习的模块,基于BSD开源许可证。
Scikit-Learn的安装需要Numpy Scopy Matplotlib等模块,Scikit-Learn的主要功能分为六个部分,分类、回归、聚类、数据降维、模型选择、数据预处理。

Scikit-Learn自带一些经典的数据集,比如用于分类的iris和digits数据集,还有用于回归分析的boston house prices数据集。该数据集是一种字典结构,数据存储在.data成员中,输出标签存储在.target成员中。Scikit-Learn建立在Scipy之上,提供了一套常用的机器学习算法,通过一个统一的接口来使用,Scikit-Learn有助于在数据集上实现流行的算法。
Scikit-Learn还有一些库,比如:用于自然语言处理的Nltk、用于网站数据抓取的Scrappy、用于网络挖掘的Pattern、用于深度学习的Theano等。

7. Scrapy

Scrapy是专门为爬虫而生的工具,具有URL读取、HTML解析、存储数据等功能,可以使用Twisted异步网络库来处理网络通讯,架构清晰,且包含了各种中间件接口,可以灵活的完成各种需求。

8. Gensim

Gensim是用来做文本主题模型的库,常用于处理语言方面的任务,支持TF-IDF、LSA、LDA和Word2Vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算、信息检索等一些常用任务的API接口。

以上是对Python数据分析常用工具的简单介绍,有兴趣的可以深入学习研究一下相关使用方法!


以上就是分享一下Python数据分析常用的8款工具的详细内容,更多请关注码农之家其它相关文章!

Python相关资源

  • Python数据分析入门:从数据获取到可视化

    Python数据分析入门:从数据获取到可视化

    它是1本实干之作,集中体现数据统计分析步骤的各类阶段,包括统计数据的收集、清理和探索性剖析,并根据大伙儿耳熟能说的Python小工具多方面实际操作。 这书做为数据统计分析的新手入门

    大小:5.4 MBPython电子书

  • Python数据结构与算法分析

    Python数据结构与算法分析

    若把撰写代码比成急行军打战,那麼要想独霸战场,不可以光靠手上的尖刀,还需深得古语。Python是一把尖刀,数据结构与优化算法则是古语。只能通读古语,才可以使尖刀无坚不摧。《 Pyt

    大小:10.4 MBPython

  • python数据分析实用命令速查表

    python数据分析实用命令速查表

    本文档主要是Python数据分析速查表 一共6张表,包括:Jupyter Notebook、Numpy、Pandas 、Scikit-Learn、Keras、Matplotlib 速查速记,不二之选!

    大小:6.74 MBpython

  • 零起点Python足彩大数据与机器学习实盘分析

    零起点Python足彩大数据与机器学习实盘分析

    大小:122.4 MBPython数据分析电子书

  • 从零开始学Python数据分析与挖掘

    从零开始学Python数据分析与挖掘

    本书以Python 3版本作为数据分析与挖掘实战的应用工具,从Pyhton的基础语法开始,陆续介绍有关数值计算的Numpy、数据处理的Pandas、数据可视化的Matplotlib和数据挖掘的Sklearn等内容。

    大小:67.8 MB数据挖掘电子书

  • 基于Python的大数据分析基础及实战

    基于Python的大数据分析基础及实战

    配套设施教程视频教你如何学Python 提炼出避坑技能招式简要、高效率懂Python 实战演练经典案例轻轻松松、迅速玩Python 解读实践活动实例视頻源码源统计数据 对于Python初学者量身订做,新手入

    大小:202 MBPython大数据

  • Python数据分析与挖掘实战(配套数据及代码)

    Python数据分析与挖掘实战是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、航空、医疗、互联网、生产制造以及公共服务等行业真实案例为主线,深入浅出介绍Python数据挖掘建模过程,实践性极强。 本书共15章,分两个部分:基础篇、实战篇。基础篇介绍了数据挖掘的基本原理,实战篇介绍了一个个真实案例,通过对案例深入浅出的剖析,使读者在不知不觉中通过案例实践获得数据挖掘

    大小:301 MBPython

  • 离散数学

    离散数学 课后答案

    《离散数学》是2015年北京大学出版社出版的图书,作者是耿素云、屈婉玲。 本书共分四大部分,数理逻辑部分包括命题逻辑的基本概念、等值演算、范式与推理论,一阶逻辑的基本概念、前束范式以及推理理论。集合论部分包括集合的基本概念与运算,二元关系的性质与运算、等价关系与偏序关系,函数及其性质,复合函数与反函数等。代数结构部分包括二元运算及代数系统,半群、独异点、群、环与域、格与布尔代数等。图论部分包括图的基本概念

    大小:221 KB离散数学课后答案

  • 软件工程:方法与实践

    软件工程:方法与实践 课后答案

    软件工程作为一门指导计算机软件系统开发和维护的工程学科,近年来随着我国信息化建设的深入发展,对软件产业的支撑作用凸现。 本书是在吸取了外有关教材的精华,并结合编者多年进行软件工程教学及软件开发的实践经验、体会的基础上编写的。内容注重科学性、先进性,强调实践性。重点介绍面向对象的方法及UML统一建模语言,以及CMM软件成熟度模型、ERP企业资源规划等先进管理技术。 本书可作为高等院校计算机及信息类专业软件工程课程的

    大小:404 KB软件工程课后答案

  • 《Photoshop CC 2017 数码照片专业处理技法》素材

    《Photoshop CC 2017 数码照片专业处理技法》素材

    编辑推荐 源自斯科特凯尔比,《PhotoshopUser》杂志主编,美国Photoshop国家专业协会主 席美国亚马逊网上书店年度畅销图书的全新升级版美国本杰明富兰克林大奖图书的全新升级版您需要一本打破常规的Photoshop 新版图书吗?斯科特? 凯尔比是数码摄影后期技法畅销书作者,他为数码摄影师介绍了Adobe Photoshop中全新、极重要、极令人激动的技术,又一次使本书达到一个新水平。本书没有介绍大套的理论,作者逐步向您准确演示了当今一 流数码摄影师所使用的

    大小:1.2 GBPhotoshop配套资源

  • C语言程序设计(第2版)

    C语言程序设计(第2版) 课后答案

    大小:12.7 MBC语言课后答案

  • 产品经理进阶:100个案例搞懂人工智能

    产品经理进阶:100个案例搞懂人工智能

    大小:7726 MB MB人工智能

下载地址

Python学习笔记

17小时42分钟前回答

python数据分析用什么编译器

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。 定义 (推荐学习:Python视频教程) 用户可以通过电子邮件,Dropbox,GitHub 和 Jupyter Notebook Viewer,……

15小时46分钟前回答

数据分析师为什么要学python

Python的优点也十分突出,比如上手简单,代码简洁、高效,已经成为很多学术科研人士和普通爱好者的数据分析工具,那么数据分析师为什么要学习Python呢?下面我们就给大家介绍一下这些内容。 获取数据是数据分析的第一步,没有数据那么数据分析的工作就毫无意义。(推荐学习:Python视频教程) 当然,我们获取数据的方式有很多,但是最好的方式就是使用Python,Python凭借它……