原文链接:Step by step approach to perform data analysis using Python
译文链接:使用Python一步一步地来进行数据分析--By Michael翔
你已经决定来学习Python,但是你之前没有编程经验。因此,你常常对从哪儿着手而感到困惑,这么多Python的知识需要去学习。以下这些是那些开始使用Python数据分析的初学者的普遍遇到的问题:
- 需要多久来学习Python?
- 我需要学习Python到什么程度才能来进行数据分析呢?
- 学习Python最好的书或者课程有哪些呢?
- 为了处理数据集,我应该成为一个Python的编程专家吗?
当开始学习一项新技术时,这些都是可以理解的困惑,这是《在20小时内学会任何东西》的作者所说的。不要害怕,我将会告诉你怎样快速上手,而不必成为一个Python编程“忍者”。
不要犯我之前犯过的错
在开始使用Python之前,我对用Python进行数据分析有一个误解:我必须不得不对Python编程特别精通。因此,我参加了Udacity的Python编程入门课程,完成了code academy上的Python教程,同时阅读了若干本Python编程书籍。就这样持续了3个月(平均每天3个小时),我那会儿通过完成小的软件项目来学习Python。敲代码是快乐的事儿,但是我的目标不是去成为一个Python开发人员,而是要使用Python数据分析。之后,我意识到,我花了很多时间来学习用Python进行软件开发,而不是数据分析。
在几个小时的深思熟虑之后,我发现,我需要学习5个Python库来有效地解决一系列的数据分析问题。然后,我开始一个接一个的学习这些库。
在我看来,精通用Python开发好的软件才能够高效地进行数据分析,这观点是没有必要的。
忽略给大众的资源
有许多优秀的Python书籍和在线课程,然而我不并不推荐它们中的一些,因为,有些是给大众准备的而不是给那些用来数据分析的人准备的。同样也有许多书是“用Python科学编程”的,但它们是面向各种数学为导向的主题的,而不是成为为了数据分析和统计。不要浪费浪费你的时间去阅读那些为大众准备的Python书籍。
在进一步继续之前,首先设置好你的编程环境,然后学习怎么使用IPython notebook
学习途径
从code academy开始学起,完成上面的所有练习。每天投入3个小时,你应该在20天内完成它们。Code academy涵盖了Python基本概念。但是,它不像Udacity那样以项目为导向;没关系,因为你的目标是从事数据科学,而不是使用Python开发软件。
当完成了code academy练习之后,看看这个Ipython notebook:
Python必备教程(在总结部分我已经提供了下载链接)。
它包括了code academy中没有提到的一些概念。你能在1到2小时内学完这个教程。
现在,你知道足够的基础知识来学习Python库了。
Numpy
首先,开始学习Numpy吧,因为它是利用Python科学计算的基础包。对Numpy好的掌握将会帮助你有效地使用其他工具例如Pandas。
我已经准备好了IPython笔记,这包含了Numpy的一些基本概念。这个教程包含了Numpy中最频繁使用的操作,例如,N维数组,索引,数组切片,整数索引,数组转换,通用函数,使用数组处理数据,常用的统计方法,等等。
Pandas
Pandas包含了高级的数据结构和操作工具,它们使得Python数据分析更加快速和容易。
教程包含了series, data frams,从一个axis删除数据,缺失数据处理,等等。
Matplotlib
这是一个分为四部分的Matplolib教程。
1st 部分:
第一部分介绍了Matplotlib基本功能,基本figure类型。
2nd 部分:
包含了怎么调整figure的样式和颜色,例如:makers,line,thicness,line patterns和color map.
3rd 部分:
图的注释--包含若干图,控制坐标轴范围,长款比和坐标轴。
4th 部分:
包含了一些复杂图形。
MatplotLib Part4
总结
你学习Python时能犯的最简单的错误之一就是同时去尝试学习过多的库。当你努力一下子学会每样东西时,你会花费很多时间来切换这些不同概念之间,变得沮丧,最后转移到其他事情上。
所以,坚持关注这个过程:
- 理解Python基础
- 学习Numpy
- 学习Pandas
- 学习Matplolib
下载链接:
你可以从我的github上下载这些文件。这些文件是以.ipynb格式存放。这些文件也包含了我用来说明的一些图片。
最后
博客链接:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。