在学习python的过程中,遇到的最大的困难是什么?

一、写在前面

其实不止是 Python,任何学习都会遇到这么几个难点:
1、迷茫,对于学习过程中,对新的、未知的概念欠缺了解;
2、彷徨,没有目的性的学习,不知道学完之后可以怎么用;
3、乏力,知道很重要,缺乏完整的知识体系,怎么都感觉没有学好;
4、无知,学习后觉得自己可以了,用到实际的时候依然不知所以然;

在这里插入图片描述

首先,不能不说的一点,学习python,一开始不要想着和数据分析有什么关系,而是了解完python可以做什么,再去想想哪些过程能应用到这些功能,解决什么问题;更不要想着和数学有什么关系,撇开其他不谈,python也是一门程序语言,和C、C++、VBA、R语言并没有什么区别,用类别的方式进行学习,事半功倍!

11~13年的时候python学习的社区还不成熟,躺了无数多个坑。发展到现在,有特别多的在线课程可以跟着学习,站在前人的基础上进行翱翔

二、塑造清晰的认知(解决迷茫)

对于python学习来说,没有具体场景、数据的支撑,看了书、看了视频、看了课程,学完之后依然觉得很难应用,绝大多数情况下是因为只看了浅层的知识介绍,忽略了原有知识体系和本我工作的锲合度。

2.1 了解和认识Python的应用范围

应用1:利用python进行数据分析;

场景:替换原来在Excel中的函数统计、绘图的过程,对分析过程中的数据进行聚合处理,直接利用python相应的库进行分析结果呈现,实现多因素的可视化呈现,增加数据的可读性;

应用2:python爬虫;

场景:这应该是绝大多数初学者最容易上手的切入点,也应该是最感兴趣的一个点,通过爬虫去做数据采集,模拟业务场景去进行数据探索分析,必不可少的要去了解HTML的构成、元素、框架和规则;
然后就是爬图片、爬视频、爬评论,git上最经典的一个案例就是豆瓣、
但是爬虫有风险,一定要关注法律,不要因小失大!!!

应用3:机器学习和深度学习;

场景:在信息化程度比较高的企业,往往会有大数据算法分析应用的场景,利用sklearn提供的算法能力,可以快速建立模型,实现预测、分类、 聚类、回归等目的;


应用4:Web应用开发;

当了解到python可以搭建网站的时候,手把手复刻了一个项目,利用django做了一个可视化系统,出来的效果如下图;同样的,还有flask的案例;


应用5:自动化测试和运维;

自动化的运维,省时省力省心,凡是能够自动化的过程,都可以在过程中有效的进行优化(偷懒)
关于nginx的 开源网站介绍,一些开源项目可以直接拿来部署应用的项目情况,


2.2 了解和认知Python的运行平台

工具1:IDLE;

IDLE是python自带的一个编辑器,相当简洁,简洁到简陋的地步;当安装好python之后,就伴生存在了,不需要再做额外的动作,基本功能有语法加亮、段落缩进、基本文本编辑、TABLE键控制调试程序

工具2:CMD and 终端命令行;

学习python过程中的一大阻力!!!尤其是对计算机系统并不是那么熟悉的同学,但是不得不去克服这种困难,在后续的学习过程中可能需要通过终端的命令来进行库的安装、查看,尤其是要做定时运行的时候。
windows下:win+R,输入CMD;mac下:直接打开终端;

工具3:Pycharm;

一开始有点难用,都是纯E的菜单、信息,但是它的诸多功能都特别实用,语法高亮、提示、补全、运行预览,而且安装包比较方便,属于熟悉之后就离不开的那种;

工具4:Anaconda;

naconda是最省心的一个平台工具,一站式解决了python安装、库安装的问题,直接集成了多个GUI的应用,并且提供了比较好的节目进行脚本开发;

工具5:Jupyterlab / Jupyter Notebook;

实现网页版的交互式脚本撰写,支持Markdown格式,在做数据探索的时候,顺便生成一份分析报告;

工具6:iPython;

python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。
在cmd命令行窗口直接输入ipython,得到如下界面:

工具7:Spyder;
适合科学计算,界面和 Rstudio类似,可以逐行调试;

2.3 了解和认知Python的基础知识

python基础知识就不展开了,在很多基础知识的网站上都会有介绍,在学习之初,最重要的几个概念理解清楚,然后不断的去发散。
知识1:pip
知识2:import库操作;
知识3:文件读写;
知识4:pyhon的常用库及解决什么问题;
知识5:python2.x和python3.x的区别


三、建立明确的目标(消除彷徨)

在不同应用范围下,对相关的库所需要了解和掌握的程度差异略大,本质上是工作类别的差异性。
以数据分析岗为例,对于python的学习,可以集中在以下一些库上:

3.1 文件类

os——学习Python最优先看的应该就是os包,对文件夹、文件进行操作:

3.2 数据计算类

Pandas——像用Excel一样对数据进行统计分析;
Numpy——拥有大量的计算函数,可以进行矩阵计算
Scipy——用于数学、科学、工程领域的常用软件包;


3.3 Python绘图类

Matplotlib——绘图必备,可以和seaborn结合一起,绘制出和ggplot风格的图;
Pyecharts——百度可视化的开源库,可以做出丰富的JS图表;



3.4 交互类

Openpyxl——Python和Excel的交互包,可以对Excel进行操作;
Pymysql——Python和mysql的交互包,直接连到数据库获取数据源;

3.5 文本处理类

re——必须要学会的正则表达式,对于文本处理有非常好的用途;
json——非结构式的key:value数据处理;
 

四、构建完整的体系(丢掉乏力)

为什么要去构建知识体系?让知识有层次、有结构、有深浅。参考一本书的目录,从浅入深的做好知识沉淀;
脱离于认知期和熟悉期之后,对于python能够实现的功能有了大概的了解,能够定向的去解决一些问题,用来用去也就那么几个方法。这时候,就需要对所用的包有一个具体的了解,而且一定要围绕自己学习的重点来展开,


4.1 官网的知识地图(以pandas为例)

参考一下官网的知识结构梳理:
语法 - 数据整理 - 数据重塑 - 行列操作 - 数据统计用法 - 缺失值处理 - 数据集合并 - 数据分组 - 绘图呈现

可以按照这个思路对所用的库进行拆解,能够有更清晰的认知,针对某一场景的时候,可以用多个不同的方法进行解决,以及如何高效的进行解决!

4.2 用Xmind构建知识树(adaboost)

参考一本书的目录,从浅入深的做好知识沉淀;
譬如:


知识体系的构建,不是一朝一夕的事情,需要依赖长时间的经验沉淀,根据自己对知识的掌握,绘制一些知识树,把python可解决的一些能力具象出来。


五、完善场景的练习(不要无知)

刻意练习,不能闭门造车!!!
从实际的业务场景中进行需求提炼,把场景和python学习结合在一起,基于需求的学习可以事半功倍。
我用python主要是还是用在数据分析上,从数据采集、清洗、处理、建模、结果、可视化、汇报的流程链路上,用不同的库分别解决各自的问题,实现效率的提升。在这个过程里面,需要结合大量的数理知识、算法知识、设计理念来把事情串起来。可以把数据场景和Python的库进行一一对应,也可以进行对比学习,把所有Excel处理的场景通过Python进行复现,然后逐步的去Excel化!
1.基础 -> 2.统计 -> 3.编程 -> 4.机器学习 -> 5.NLP -> 6.可视化 -> 7.大数据 -> 8.资料撷取 -> 9.数据清洗 -> 10.工具箱


python是工具,工具即利器,磨刀不误砍柴工,把工具研究透彻,就能在实际的项目上大刀阔斧,而不是临阵磨枪,乱了阵脚。
碰到问题解决问题,建立自己的一套问题词库,在碰到困难的饿时候,可以优先通过平台搜索解决很大一部分问题,问题解决的优先级:

猜你喜欢

转载自blog.csdn.net/m0_59595915/article/details/132453602
今日推荐