编程语言只是工具,核心在于你要做什么,很多python的高级方法和语言特性,前期可以全部不管。

作为数据分析和建模,先用python实现基本的需求,更高级的用法慢慢掌握,万事开头难。

一、掌握基本的数据结构和控制流程(1周即可)

基本的数据结构:元组、列表、字典。

基本的控制流程:if判断、for循环、while循环。

剩下的事情就是把数据存在合适的数据结构中,然后使用控制流程操作数据。

其实数据操作和sql很像,就是增删改排序查找,不同数据结构有不同的方法,需要掌握,大致知道就好,用多了就熟了。

二、掌握pandas包的数据操作(1-2个月为宜)

python的优势:包。通过导入包,利用别人封装好的方法,可以更加高效的处理数据。

数据处理基本上用pandas就够了(熟悉之后可以逐步使用numpy、scipy等),pandas学习方法:

1、10 minutes to pandas(http://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html),官网的入门教程,虽然是英文,但很好读,花一周坚持读下来,会对pandas有很清晰的了解。

2、pandas的核心在于:

将数据存储为dataframe类型,然后基于此数据类型进行数据操作。

常见的数据操作有:数据输入输出、筛选数据、groupby数据、时间数据操作、数据可视化。阅读官方教程即可:

http://pandas.pydata.org/pandas-docs/stable/getting_started/basics.html

3、阅读Python for Data Analysis,中文版是:利用Python进行数据分析。基本是在更加详细的介绍如何使用pandas操作数据。

三、数据建模(长期,难点在于知道应该做什么,具体实现熟了很简单)

建模常用的包有pytorch、sklearn、tensorflow等,使用sklearn就可以满足常见建模需求。

事实上,利用包建模很简单,基本就是:

1、导入包

2、利用包已实现的算法fit一下训练数据得到model;

3、利用model对测试数据做个predict;

4、利用各种模型性能评价指标评估model性能。

5、调整参数、入模变量等,得到满足性能指标的model。

大量的工作是花费在调参和模型性能指标的验证上的,因为性能指标可以反馈出数据本身的特点以及如何更好的调参得到好的模型。

四、其他

有了基础后,注意提高自己的代码效率或者通过不同的方法得到更好的结果。

可以关注pythonic方面的文章,会提高自己的编程能力。