独家 | Python数据分析入门指南

简介:


有一个朋友最近问到这个问题,我觉得把它公开出来对其他人也会有帮助。这是给完全不了解Python而想找到从零到一的最简单的路径的人的建议:


1. 在这里(https://www.continuum.io/downloads)下载适用于你的操作系统的Python 3.X的Anaconda发行版本。这个预先捆绑的发行版会帮助你避开很多跟安装相关的头疼问题。有很多重要的数据分析包都会被预先安装好。


2. 等你安装好之后,测试一下,确认默认的Python解释器是你刚刚安装的版本。这非常重要,因为可能在你的系统里已经安装了一个版本的Python,但是它并不会包含Anaconda发行版中的所有东西,所以你得确保新的版本才是默认版本。在Mac/Linux系统上,你可以在终端输入which python,或者你也可以运行Python的解释器并且确保版本跟你下载的是相符的。如果这一切运行良好,在安装的时候就应该被设置成默认的版本。如果并非如此,你就得停下来并且解决它。


3. 在命令解释器(Shell)中输入jupyter notebook命令,这会打开一个浏览器窗口。如果没有的话,打开浏览器,在地址栏输入:http://localhost:8888。在你打开这个页面之后,创建一个新的Python笔记本(Python notebook)。


4. 点击http://www.kaggle.com/最上面菜单栏中的kernels,并在新打开的页面中的语言过滤器中选择Python(https://www.kaggle.com/kernels?language=Python)。这里大部分都是其他人利用Kaggle上免费公开的数据集做分析或者组建模型时使用的Jupyter笔记本(Jupyter Notebook)。在其中寻找标题里包含类似EDA(Exploratory Data Analysis,探索性数据分析)的笔记本,而不是那些创建预测模型的笔记本。找一个你觉得有趣的,并且在你的笔记本中再现它。


注意: 你会发现,当你再现某些分析的时候,你会遭遇导入错误(Import error)。这常常是因为分析者安装了并没有包含在Anaconda发行版中的包。你最终会需要学习如何跟conda包管理器(Conda package manager)交互,这将是你最终会走入的许多兔子洞之一。通常而言,事情都非常简单,你只需要用到conda install <package name>就可以了,但是你需要找出正确的包的名称,有时候,你还得确认一些其他的细节。还有的时候你可能得用到pip install <package name>,迟一点你都会学到的。

 

高级库总结


这里是对你会经常接触的重要的库的简要总结:


NumPy:拥有大量的科学计算的核心功能。由于它的内部运算是通过C语言实现的,所以比用Python写成的同样的函数,它的速度会快许多。但它并不是最用户友好的包。


SciPy:跟NumPy非常相似,但是有更多的方式来从分布中取样,计算检验统计量,等等。


MatPlotLib:主要的画图框架。不太讨喜,但却是必备的包。


Seaborn:在导入MatPlotLib包之后导入Seaborn包,默认地,它会使你的绘图变得漂亮许多。它也有一些独特的功能,但是我发现它最酷炫的功能运行起来实在太慢了。


Pandas:基本上是对NumPy/SciPy进行轻量的包装,使它们更用户友好一些。对于和表格数据交互非常理想,Pandas中把表格数据称为数据框(DataFrame)。对画图功能也有一些包装,使得无需使用MPL(Meta-Programming Library,元编程库)就可以快速实现画图。我使用Pandas而非其他的工具来操作数据。


Scikit-learn:包含大量的监督和非监督机器学习算法,以及许多做模型选择的度量工具,是一个优秀的预处理库。这个预处理库可以做主成分分析(Principal Component Analysis),对分类变量进行编码,等等。

 

小技巧


1. 在Jupyter笔记本中,在运行代码块(Cell)前,于任何一个对象前放置一个问号,它会为你打开这个对象的文档。在你遗忘了你所使用的函数的细节的时候,这是非常方便的。比如说,my_dataframe.apply会解释pandas.DataFrame对象中的apply方法,而这个my_dataframe是pandas.DataFrame的一个实例。


2. 无论你在使用什么库,你通常都需要一直查阅文档,那么就干脆一直在浏览器中打开它。可选变量以及细微的差别实在是太多了。


3. 当你遇到无可避免的故障检修的时候,stackoverflow上也许已经有了问题的答案。


4. 接受这个事实吧:你正在做并不是完全理解的事情,又或者你会被并不重要的细节拖入泥淖。某一天你也许需要理解虚拟环境,它并没有那么困难,只是会有一些弯路给新手增加一些不必要的痛苦而已。


5. 阅读别人的代码。这是最好的方式,可以学习到规范,也是最佳的实践。这就是Kaggle kernels能够帮助你的地方。Github同样也支持在浏览器中展示Jupyter笔记本。互联网上有大量的例子可供参考学习。

 


原文发布时间为:2017-08-09 

本文作者:Zack Jost

本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”微信公众号

相关文章
|
21天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
26天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
1月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
87 4
数据分析的 10 个最佳 Python 库
|
22天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
22天前
|
测试技术 开发者 Python
探索Python中的装饰器:从入门到实践
装饰器,在Python中是一块强大的语法糖,它允许我们在不修改原函数代码的情况下增加额外的功能。本文将通过简单易懂的语言和实例,带你一步步了解装饰器的基本概念、使用方法以及如何自定义装饰器。我们还将探讨装饰器在实战中的应用,让你能够在实际编程中灵活运用这一技术。
37 7
|
23天前
|
开发者 Python
Python中的装饰器:从入门到实践
本文将深入探讨Python的装饰器,这一强大工具允许开发者在不修改现有函数代码的情况下增加额外的功能。我们将通过实例学习如何创建和应用装饰器,并探索它们背后的原理和高级用法。
36 5
|
22天前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
59 3
|
26天前
|
Python
Python编程入门:从零开始的代码旅程
本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。
|
29天前
|
数据采集 XML 存储
构建高效的Python网络爬虫:从入门到实践
本文旨在通过深入浅出的方式,引导读者从零开始构建一个高效的Python网络爬虫。我们将探索爬虫的基本原理、核心组件以及如何利用Python的强大库进行数据抓取和处理。文章不仅提供理论指导,还结合实战案例,让读者能够快速掌握爬虫技术,并应用于实际项目中。无论你是编程新手还是有一定基础的开发者,都能在这篇文章中找到有价值的内容。
|
29天前
|
设计模式 缓存 开发者
Python中的装饰器:从入门到实践####
本文深入探讨了Python中强大的元编程工具——装饰器,它能够以简洁优雅的方式扩展函数或方法的功能。通过具体实例和逐步解析,文章不仅介绍了装饰器的基本原理、常见用法及高级应用,还揭示了其背后的设计理念与实现机制,旨在帮助读者从理论到实战全面掌握这一技术,提升代码的可读性、可维护性和复用性。 ####