Python学习路径和个人增值(整合版)

PS:内容来源于网络

一、简介

        Python是一种面向对象、直译式计算机程序设计语言,由Guido van Rossum于1989年底发明。由于他简单、易学、免费开源、可移植性、可扩展性等特点,Python又被称之为胶水语言。下图为主要程序语言近年来的流行趋势,Python受欢迎程度扶摇直上。

Python学习路径和个人增值(整合版)

Python学习路径和个人增值(整合版)
二、数据分析路径

由于Python拥有非常丰富的库,使其在数据分析领域也有广泛的应用。由于Python本身有十分广泛的应用,本期Python数据分析路线图主要从数据分析从业人员的角度讲述Python数据分析路线图。整个路线图计划分成16周,120天左右。主要学习内容包括四大部分:
        1)Python工作环境及基础语法知识了解(包括正则表达式相关知识学习);
        2)数据采集相关知识(python爬虫相关知识);
        3)数据分析学习;
        4)数据可视化学习。

Python学习路径和个人增值(整合版)

Python学习路径和个人增值(整合版)

1)Python工作环境及基础语法知识了解:
  对于Python基础语法学习部分,学习周期大概为4周,需要的相关资源在网络上都能找到免费的资源,而且质量都不错。相关中文资源如下:
  1.1python工作集成环境包
  Python(x,y):下载地址:http://python-xy.github.io/downloads.html
  Pycharm:下载地址:http://www.jetbrains.com/pycharm/download/#section=windows

  1.2python数据分析相关库(Pandas/Numpy/Scipy/Matplotlib)
  如果安装了上面集成工作包,则下面的包不需要重新安装了。关于包的安装方法在学习资源图书中都有介绍,通常安装库采用pip方法,也可以用pip list查询系统安装了哪些库。

  1.3学习资源
    1.3.1图书:
    1)Python基础教程(第2版)[电子版图书自行百度]
    2)深入浅出Head First python(中文版)[电子版图书自行百度]

    1.3.2在线教程:
    1)廖雪峰的python教程:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
    2)正则式学习:http://wiki.jikexueyuan.com/project/python-crawler-guide/regular-expressions.html#7907ec6cc04be6c7f8cf8ac272215946

    1.3.3视频教程:
    1)慕课网python入门:http://www.imooc.com/learn/177
    2)慕课网python进阶:http://www.imooc.com/learn/317
    3)正则式学习视频:http://www.imooc.com/learn/550

2)数据采集学习:
  对于数据采集部分的学习主要是通过python爬虫的学习了解基本的外部数据采集情况,当然也可以借助别人写好的规则库直接完成某些数据的采集。这部分内容的学习周期大概也为四周,需要的相关资源在网络上都能找到免费的资源,而且质量都不错。相关中文资源如下:

  2.1爬虫学习在线教程:
  1.Python爬虫入门一之综述:http://cuiqingcai.com/927.html
  2.Python爬虫入门二之爬虫基础了解:http://cuiqingcai.com/942.html
  3.Python爬虫入门三之Urllib库的基本使用:http://cuiqingcai.com/947.html
  4.Python爬虫入门四之Urllib库的高级用法:http://cuiqingcai.com/954.html
  5.Python爬虫入门五之URLError异常处理:http://cuiqingcai.com/961.html
  6.Python爬虫入门六之Cookie的使用:http://cuiqingcai.com/968.html
  7.Python爬虫入门七之正则表达式:http://cuiqingcai.com/977.html
  8.Python爬虫实战一之爬取糗事百科段子:http://cuiqingcai.com/990.html
  9.Python爬虫实战二之爬取百度贴吧帖子:http://cuiqingcai.com/993.html
  10.Python爬虫实战三之计算大学本学期绩点:http://cuiqingcai.com/997.html
  11.Python爬虫实战四之抓取淘宝MM照片::http://cuiqingcai.com/1001.html
  12.Python爬虫进阶一之爬虫框架Scrapy安装配置:http://cuiqingcai.com/912.html

  2.2视频教程:
  Python简单爬虫开发:http://www.imooc.com/learn/563

3)数据分析:
  Python数据分析的学习主要是对相关库的使用,比如数据整理需要用到numpy和pandas库,数据描述与分析分析则主要用到pandas库,从某种程度上讲,利用python进行数据分析的学习过程就是对库的学习过程。由于有了前面2部分内容的学习基础,本部分内容的建议学习练习时间也为4周,相关免费学习资源如下:

  3.1学习资源
    3.1.1图书:
    利用python进行数据分析:http://item.jd.com/11352441.html[电子版图书自行百度]

    3.1.2视频:
    用python玩转数据:https://www.coursera.org/learn/hipython[视频为cousera认证课程,全程中文]

  3.2数据分析的准备
  1.了解数据——数据加载、储存与文件格式;异常值的清理与缺失值处理
  2.数据清洗与初步分析——数据清理、转换、合并与重塑;数据汇总与描述统计;
  3.绘图与可视化——基本绘图命令与图形概览、图形元素设定与实例:地震危机数据的可视化
  4.数据聚合与分组处理——数据聚合、分组运算与转换、透视表与交叉表
   
  3.3数据分析初探
  1.假设检验——常用假设检验与实例分析
  2.线性回归——线性回归模型、分析结果呈现与解读;实例:商品价格预测
  3.logistic回归——logistic回归模型讲解;实例:电信客户流失分析
  4.时间序列分析——时间序列基本处理、时间序列模型构建与结果解读;实例:未来股票价格预测
 
  3.4深入数据分析
  1.分类算法——knn、决策树、贝叶斯分类器等算法介绍;实例:网页注册用户预测
  2.聚类算法——k-means算法介绍;实例:通信基站聚类分析
  3.降维方法——主成分分析与因子分析算法介绍;实例:地区经济指标评分
 

4)数据可视化:
  Python数据可视化学习的过程就是学习matplotlib库的过程,matplotlib库包含有丰富的数据可视化资源,地图、3D等等都有涉及,如果有前面3部分的学习经验的话,这部分内容在4周内也能解决。相关中文学习资源如下:

  4.1图书:
  Python数据可视化编程实战[电子版图书自行百度]:http://item.jd.com/11676691.html

  4.2在线教程:
  1.利用Python绘图和可视化(1):http://www.lovedata.cn/ec/Python/2016/0118/7732.html
  2.利用Python绘图和可视化(2):http://www.lovedata.cn/ec/Python/2016/0118/7733.html

  至此,Python数据分析相关学习内容介绍完了,上面介绍的多种资源,每个阶段只需选择其中的一种进行深入即可,更多更深的内容则需要自己去实践摸索。更多数据分析学习及数据分析工具参见数据导航网站。

三、其他资源

1.百度云:http://pan.baidu.com/s/1YPLT0

2.有道云笔记:http://note.youdao.com/share/?id=3e1d9299f8680bcaa416b7f98c34f13e&type=notebook

3.用Python玩转数据 Data Processing Using Python  https://www.coursera.org/learn/hipython

4.利用Python绘图和可视化(1)  http://www.lovedata.cn/ec/Python/2016/0118/7732.html

5.利用Python绘图和可视化(2)  http://www.lovedata.cn/ec/Python/2016/0118/7733.html

6.Python 中文官方文档

7.python入门基础教程 http://wiki.jikexueyuan.com/list/python/

四、个人增值

第一部分:一些要求

1.学历
格式:计算机及相关专业本科及以上学历…..

不解释,不说明

毕业后很少再看学历了,更多的是看能力吧(我会告诉你第一年周围都是硕士博士海龟么,俺学历最低,自卑啊)

见过数学系、物理系、信息自动化系的跑过来当码农,唯一遗憾的是还没有见到中文系的…..

2.经验
格式:拥有X年以上经验,至少独立负责过X个项目

很蛋疼的东西,见过一年经验用N年的,也见过一年拥有N年经验的

受环境影响,但更多的是取决于个人

听过一句话:人和人的唯一区别,就是有木有主观能动性(略有些偏激,但是有道理)

3.基础素质
格式:具有良好的XXXX

编码规范/风格
文档书写习惯
沟通与表达能力,逻辑思维清晰
团队合作
动手能力/独立工作能力
进取心,求知欲,工作热情
善于学习,乐于分享,快速学习能力
能承受较大的工作压力
执行力
责任感
英文阅读能力
创新精神
对新技术敏感
独立分析、设计、解决问题的能力

这些都相对比较“虚”,不怎么好考察,面试+试用可以相对客观了解是否符合

个人认为,责任感+执行力,这两点足够了,其他一般不会差。

自我驱动的人,永远会getthingsdone.所以会不断去弥补自己的短板,其他对应能力即使不足,也能很快弥补

4.加分项
格式:XXXX优先

使用*nix系统
vim/Emacs编辑器
对开源技术有强烈兴趣和爱好,参与提交bug/patch
各种技术/经验(前端/hadoop/机器学习/数据挖掘/函数式编程)

为毛不是osx系统(╯‵□′)╯︵┻━┻

从一些侧面,查看一个人的特质吧

5.提供
格式:XXXX账号/地址

博客地址
github/bitbucket
*
知乎
微博

搞技术的,很有必要建立自己的领地,搞一些东西

分享,更重要的是积累

第二部分:干货

关于Python后端开发要求

1.对Python有兴趣,熟悉Python(标准库)
最好阅读过源码

了解Python的优化(熟悉pypy更佳)

2.至少至少一门语言(不说“精通”)
起码熟悉其他基本语言

C/C++LispHaskellSchemegolangerlangJavaRRubyNode.jsPHPPerlLua

我选了Java(曾经擅长)/Golang/Lisp/Ruby/C/C++

3.数据结构和算法
数据结构和算法基础扎实

4.Python框架
Django/Tornado/Flask/Gevent/Web.py/Bottle/Celery/Twisted/NumPy

5.熟悉Linux
基本操作和命令
会Shell
版本Git/Svn
部署相关:Nginx/Gunicorn/Fabric/Virtualenv

6.数据库
熟悉Mysql等关系数据库使用
熟悉数据库设计
熟悉数据库调优/优化
有NoSQL使用经验Redis/MongoDB等

7.后端技术相关
Redis
Memcached
RabbitMQ/ZeroMQ

8.网络编程基础
熟悉tcp/ip协议,熟悉网络编程
了解常见的网络模型
多线程

9.前端相关
熟悉Web开发相关知识
熟悉HTML/CSS/Javascript/JQuery
熟悉AngularJS

10.其他
数据抓取,爬虫
beautifulsoup/scrapy

机器学习/数据挖掘/自然语言处理(推荐算法)

TDD
高并发系统
大容量存储系统
消息系统

Linux系统编程/网络编程

基于此,去构建自己的技能体系,然后针对各项逐渐深入

就这些,骚年,努力练级去吧

上一篇:第一个 MVC 应用程序(下半部分)


下一篇:[USACO 102]Agri-Net