spark python入门教程_你是如何自学 Python 的?

我是机械类专业出身,现在在一家NGO组织从事数据分析方面的工作,主要的工具是Python、SQL、Spark。平时会写一些分析用的脚本,偶尔会写写爬虫,跑跑算法,应该说Python算是我吃饭的家伙,很感谢拥有它。

记得是大三时开始接触Python ,那时在一个大数据类的公众号里面做运营自愿者,每天接触到各种各样的技术资讯,听到最多的关键词就是Python。既然热度这么高,我有意无意地关注起Python。在网上搜了很多的学习资料、方法,浩如烟海,对初学者来说这样盲目的搜寻不是好事,压根不知道如何选择。

我开始正式敲代码,用的第一本书是《笨方法学python》。我觉得它好用的意义在于用实例讲解基础语法,每一个知识点都需要初学者动手敲代码,一步一步引导你去实操。一开始学编程语言,光捧着一本厚厚的语法书啃,是大忌。十个有八个会看不下去,比如那么多数据类型以及它的函数方法,你根本记不住。该书作者在前言里面总结道:做练习是每个程序员的必经之路:

1. 做每一道习题

2. 一字不差地写出每一个程序

3. 让程序运行起来

花了一两天的功夫去安装Python、配置环境变量,学习如何使用shell,如何在cmd中执行py文件,理解什么是编译器。这些对那时的我来说十分繁琐,接着我每天晚上花两个小时的时间,跟着书上的例子敲代码,从最简单的print('Hello World')开始,到写一个简单的循环函数,最后写一个小游戏。我觉得循序渐进,不断练习是最好的方法。

可以用Python自带的shell,对初学者其实已经够了。我那时用的PyCharm,很专业的一款IDE软件,学会使用它也需要一定的时间成本。但这个付出是值得的,因为它非常好用,能帮你节省很多时间,也能养成好的代码习惯。书上的习题

我还买了一本纸质书《Python 核心编程第二版》,这本书很厚,是人邮出版的。有两点值得一说,一是这本书内容非常详实,python的方方面面都有涉及,涵盖基础到高级,适合对Python有基本概念的学习者使用。我大概把这本书读了一遍,没有特别仔细,为求对python语言有全面的了解,当然有时间我还会细读它的。

期间,发现了一些还不错的学习网站,像大家都知道的廖雪峰Python教程、Python基础菜鸟教程

、w3cschool Python教程,这些网站里面都会有一些实操案例,学语法的同时务必要敲代码。

其实最好的学习资料是Python官方文档,诸如上面的书籍或网站都是二手甚至N手的知识了,专不专业另说,出现错误也大有可能。养成读官方文档的习惯是一个IT从业人员的财富,对以后的发展大有好处,最好是要读英文的。

过了初学的阶段,就应该有一个明确的目标,你要用Python做什么?然后针对性的去学。很多人会说Python简单,小学生都学得会。其实不然,python的上限很高,入门容易,但也会迷失在它庞大的应用体系里面的,学了半年根本不知道自己要干什么。学有所用是我学习的一个宗旨,python 可以做网站开发、机器学习、爬虫、游戏开发、自动化运维、图形界面开发等等,找到自己想要做的事情十分重要。

我的目的是要做数据分析与挖掘,相比Python,R语言是这方面的资深专家,但如今Python更受欢迎。随着Python社区的发展,不断的出现优质的开源库,例如Pandas、Numpy、Scipy、Matplotlib、Scikit-Leran、Keras等等广受欢迎的数据科学库。

我现在用的最多的是Pandas,注意这不是熊猫,它是一个基于Python的数据结构和数据分析工具。它可以做如下事情:

学习Pandas,我买了一本《利用Python进行数据分析》,作者是Pandas的开发者。里面基本上是基于Pandas官方文档,对常见重要的功能进行实例描述,也有部分python基础知识和numpy的讲解。这本书断断续续我看了几个月时间,基本上复原了书中的每个例子,我觉得如果你要做数据分析的话,值得入手。这里有英文在线PDF版本,也可以买纸质版本,条件允许的话不建议看盗版。

目录如下:第1章 准备工作

本书主要内容

为什么要使用Python进行数据分析

重要的Python库

安装和设置

社区和研讨会

使用本书

致谢

第2章 引言

来自http://bit.ly的http://1.usa.gov数据

MovieLens 1M数据集

1880-2010年间全美婴儿姓名

小结及展望

第3章 IPython:一种交互式计算和开发环境

IPython基础

内省

使用命令历史

与操作系统交互

软件开发工具

IPython HTML Notebook

利用IPython提高代码开发效率的几点提示

高级IPython功能

致谢

第4章 NumPy基础:数组和矢量计算

NumPy的ndarray:一种多维数组对象

通用函数:快速的元素级数组函数

利用数组进行数据处理

用于数组的文件输入输出

线性代数

随机数生成

范例:随机漫步

第5章 pandas入门

pandas的数据结构介绍

基本功能

汇总和计算描述统计

处理缺失数据

层次化索引

其他有关pandas的话题

第6章 数据加载、存储与文件格式

读写文本格式的数据

二进制数据格式

使用HTML和Web API

使用数据库

第7章 数据规整化:清理、转换、合并、重塑

合并数据集

重塑和轴向旋转

数据转换

字符串操作

示例:USDA食品数据库

第8章 绘图和可视化

matplotlib API入门

pandas中的绘图函数

绘制地图:图形化显示海地地震危机数据

Python图形化工具生态系统

第9章 数据聚合与分组运算

GroupBy技术

数据聚合

分组级运算和转换

透视表和交叉表

示例:2012联邦选举委员会数据库

第10章 时间序列

日期和时间数据类型及工具

时间序列基础

日期的范围、频率以及移动

时区处理

时期及其算术运算

重采样及频率转换

时间序列绘图

移动窗口函数

性能和内存使用方面的注意事项

第11章 金融和经济数据应用

数据规整化方面的话题

分组变换和分析

更多示例应用

第12章 NumPy高级应用

ndarray对象的内部机理

高级数组操作

广播

ufunc高级应用

结构化和记录式数组

更多有关排序的话题

NumPy的matrix类

高级数组输入输出

性能建议

附录A Python语言精要

还是建议去看官方文档,目前好像还没有汉化。

我之前看的学的一直是Python2,但现在用Python3了,不要觉得2和3只是版本的更迭,其实有很大的变化,有人笑说这是两种语言。以我经验,2快要退出历史舞台了,大家直接学3就可以。买资料的时候也要看准了,现在很多书还没有跟进,好多基于2写的。

大概整理这么多,我还有好多想分享给大家,包括使用Python的经验、学习的资料,以及找工作的经验等等。以后再更新,大家晚安!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值