推荐书: Python开发最佳实践

什么是数据科学-Python数据科学教程

分享时@该用户已经被封, 我就能回答你的问题奥!

文章目录
  1. 1. 前言
    1. 1.1. 什么是数据科学
    2. 1.2. 这本书为谁而写
    3. 1.3. 为什么是 Python?
      1. 1.3.1. Python 2 vs Python 3
    4. 1.4. Outline of the Book
    5. 1.5. 使用代码示例
    6. 1.6. 安装


这个系列的文章翻译自 Python Data Science Handbook by Jake VanderPlas; 英文版的内容出自 on GitHub.

文章内容遵守CC-BY-NC-ND license, 代码遵守 MIT license. 如果你支持该原著作者, 请购买他的书 buying the book!

前言

什么是数据科学

这是一本关于用Python进行数据科学的书,它立即引出了一个问题:什么是数据科学
这是一个令人难以定义的数据。
评论家可能会认为这个术语是一个多余的标签(毕竟,什么科学不涉及数据?)或它只是一个简单的流行语,它的存在是为了写在简历上并吸引技术招聘人员的注意。

在我看来,这些批评忽略了一些重要的东西。
数据科学可能是我们对跨学科技能的最佳标签,这些技能在工业界和学术界的许多应用中变得越来越重要。
这个”跨学科”是关键:在我看来,Drew Conway的”DataScience”维恩图在2010年9月首次发表在他的博客上,说明了数据科学最好的最佳定义:

Data Science Venn Diagram

(Source: Drew Conway. Used by permission.)

虽然一些交叉区域的标签有点诙谐,但这个区域表明了“数据科学”的意思的本质:它基本上是一个跨学科的主题。
数据科学包括三个不同且重叠的领域:
统计学家的技能,他们知道如何建模和总结数据集(这些数据集的规模越来越大); 计算机科学家的技能,他们可以设计和使用算法来有效地存储,处理和可视化这些数据;和领域的专业知识* - 既需要形成正确的问题,也要将他们的答案放在上下文中。

考虑到这一点,我鼓励您将数据科学视为一个新的知识领域,而不是一套新的技能,您可以在当前的专业领域中应用这些技能。
无论您是在报告选举结果,预测股票回报,优化在线广告点击,在显微镜照片中识别微生物,寻找新类型的天文物体,还是在任何其他领域处理数据,本书的目标都是让您能够提出问题并回答有关您所选主题领域的新问题。

这本书为谁而写

我在华盛顿大学和各种以技术为重点的会议上的教学中,我听到的最常见问题之一是:“我应该如何学习Python?”
人们通常都是具有技术头脑的学生,开发人员或研究人员,他们通常具有编写代码和使用计算和数字工具的强大背景。
大多数人不想学习Python 本身,但希望学习数据密集型和计算科学的工具。
虽然可以在线获得大量的视频,博客文章和这些受众的教程,但我一直对这个问题缺乏一个好的答案感到沮丧。这就是本书的灵感来源。

本书并不是对Python或一般编程的介绍;我假设读者熟悉Python语言,包括定义函数,分配变量,调用对象的方法,控制程序的流程以及其他基本任务。
相反,它旨在帮助Python用户学习使用Python的数据科学库,如IPython,NumPy,Pandas,Matplotlib,Scikit-Learn和相关工具,以有效地存储,操作和获取数据洞察力。

为什么是 Python?

Python在过去几十年中已经成为科学计算任务的一流工具,包括大型数据集的分析和可视化。
对于Python语言的早期支持者来说,这可能是一个惊喜:语言本身并不是专门为数据分析或科学计算而设计的。
Python对数据科学的价值主要源于第三方软件包的庞大而活跃的生态系统: NumPy 用于操作基于同构数组的数据, Pandas 用于处理异构和标记数据, SciPy 用于常见科学计算任务,用于绘制出版品质图表的Matplotlib ,用于交互式执行和共享代码的IPython ,用于机器学习的Scikit-Learn ,以及将在以下页面中提及的更多工具。

如果你正在寻找Python的基础教程, 我推荐这本书的姊妹篇 “A Whirlwind Tour of the Python Language“.
这本书主要面对有编程经验的人, 想要涉足数据科学领域, 但缺乏python经验的人。

Python 2 vs Python 3

本书使用Python 3的语法,其中包含与2.x系列Python不兼容的语言增强功能。
虽然Python 3.0于2008年首次发布,但采用速度相对较慢,特别是在科学和Web开发社区。
这主要是因为许多基本的第三方软件包和工具包需要一些时间才能与新的语言内部兼容。
然而,自2014年初以来,数据科学生态系统中最重要工具的稳定版本已与Python 2和3完全兼容,因此本书将使用较新的Python 3语法。
但是,本书中的绝大多数代码片段在Python 2中也无需修改即可使用:在使用Py2不兼容语法的情况下,我将尽一切努力明确地注意它。

Outline of the Book

本书的每一章都侧重于一个特定的包或工具,它们是Python Data Sciece的基石。

  1. IPython和Jupyter:这些软件包提供了许多使用Python的数据科学家工作的计算环境。
  2. NumPy:这个库提供了ndarray,用于在Python中高效存储和处理密集数据数组。
  3. pandas:这个库提供了DataFrame,用于在Python中有效存储和处理标记/柱状数据。
  4. Matplotlib:这个库为Python中灵活的数据可视化提供了功能。
  5. Scikit-Learn:这个库提供了最重要和最成熟的机器学习算法的高效和干净的Python实现。

PyData世界肯定不仅仅包括这五个包,而且这个生态环境每天都在增长。
考虑到这一点,我通过这些页面进行了所有尝试,以提供对其他有趣的工作,项目和包的引用,这些工作正在扩展Python可以完成的工作的界限。
尽管如此,这五个目前是Python数据科学领域正在进行的大部分工作的基础,并且我预计即使生态系统在他们周围不断发展,它们仍然很重要。

使用代码示例

补充材料(代码示例,图表等)可从http://github.com/jakevdp/PythonDataScienceHandbook/ 下载。这本书是为了帮助你完成工作。通常,如果本书提供了示例代码,您可以在程序和文档中使用它。除非您复制了大部分代码,否则您无需与我们联系以获得许可。例如,编写使用本书中几个代码块的程序不需要许可。出售或分发O’Reilly书籍中的示例CD-ROM需要获得许可。通过引用本书并引用示例代码来回答问题不需要许可。将本书中的大量示例代码合并到产品文档中需要获得许可。

  • Jake VanderPlas(O’Reilly)的Python数据科学手册*。版权所有2016 Jake VanderPlas,978-1-491-91205-8。

如果您认为您对代码示例的使用超出了合理使用范围或上述权限,请随时通过permissions@oreilly.com与我们联系。

安装

安装Python和支持科学计算的库套件非常简单。本节将概述设置计算机时的一些注意事项。

尽管有多种方法可以安装Python,但我建议在数据科学中使用的方法是Anaconda发行版,无论您使用的是Windows,Linux还是Mac OS X,它的工作方式都类似。
Anaconda发行版有两种版本:

Anaconda附带的任何软件包也可以在Miniconda上手动安装;因此我建议从Miniconda开始。

首先,下载并安装Miniconda软件包 - 确保选择使用Python 3的版本 - 然后安装本书中使用的核心软件包:

1
[〜] $ conda安装numpy pandas scikit-learn matplotlib seaborn jupyter

在整篇文章中,我们还将在Python的科学生态系统中使用其他更专业的工具;安装通常和键入`conda install packagename 一样简单。
有关conda的更多信息,包括有关创建和使用conda环境的信息(我强烈建议),请参阅[conda的在线文档](http://conda.pydata.org/docs/)。

Open in Colab

注意
本文由jupyter notebook转换而来, 您可以在这里下载notebook
有问题可以直接在下方留言
或者给我发邮件675495787[at]qq.com
请记住我的网址: mlln.cn 或者 jupyter.cn