Intro

我经常跟别的专业的同学说,没事儿可以自己学学Py,以后打工的话帮助很大。这也是我暑假打工三个月之后最大的感受。

对于初学者来说,Py最方便的地方就是有很多第三方包。你可以理解为,别人把那些很复杂的功能写好后,打包成几句代码;我们不用去考虑背后复杂的逻辑、速度、资源占用等问题,直接拿来用就行。这个系列里,我会重点介绍pandas表格处理包和matplotlib画图包,也会提到其他一些诸如scikit_learn机器学习包等一些常用的包,并且讲讲快速上手这些包的方法——查文档。这里引用一句Howard的话:

关于用py和这些包到底能干点啥……先拿pandas举个简单的例子,我想把下面这个表格里所有包含空值的行全部删掉:

# 第一步:导入表处理工具pandas. 
#为了简化我们的代码,我们给他取个别名叫pd
import pandas as pd

# 第二步:用pandas打开一个Excel表格
data = pd.read_excel('房子.xlsx')

# 第三步:删去所有包含空值的行
data.dropna(axis=0, inplace=True)
# dropna(Drop N/A) 就是用来删除空格的function, na就是空值的意思
# 括号里的是具体的一些参数,axis控制删除行/列,inplace控制是否替换原表格

# 第四步:看看结果
data

运行之后得到结果:

搞定!

可能这个例子所带来的视觉冲击感不太够,但如果你面对的是一个上百上千行的excel表格,有很多很多空值,你就知道为啥这东西好用了~ 因为你要做的依然是敲上面这几行代码!

而且你可能会注意到,上面这个表里有些数值错的离谱。你同样可以轻松地让Python在一堆数据中快速找到有问题的值进行修改,也可以将它所在的行/列直接删去,或者取相邻单元格的数值进行填充等等。

所以这玩意的难度下限其实很低,会一点英文,明白自己要干啥,文档/谷歌/百度在手,基本就没问题了;上限的话就看你打算怎么用它了,因为你可以结合不同的包,甚至自己造轮子,根据需求写出想要的功能(比如看看上面这个表中房价和户型、面积、楼层等变量之间的关系,根据这个关系得到一个预测房价的模型……),所以自由度非常高,当然难度一般也和任务的复杂度成正比。

看了这些,应该能大概感受到为啥这玩意儿能减轻工作量了吧!

那么接下来,就从准备工作开始做起吧!

环境安装

“环境”,你可以理解为电脑里专属Python的一个个小空间。一般来说,我们需要为每一个项目单独开一个环境,来保证之后安装的包们不会互相冲突……用人话说就是用房间把合不来的人隔开,防止他们打起来。

这里介绍一个叫做Anaconda的东西。你可以把它理解为一个精装修过的Python,自带了很多常用的包。他自带的默认环境叫base,里面装好了很多常用的包。当然,你也可以用它给你的项目开个专属的环境。

具体可以看看这个视频的介绍。(偷个懒)

不过,我自己的习惯是平时随便写点东西,而且确定我不会装新的包的话,就不开新环境,直接在base环境里面写……虽然不是什么好习惯但是省事)

怎么安装Anaconda呢?直接去官网下了装就好啦!墙内用户可以去清华的镜像站找最新的那个文件下载就行,速度会快一些。

安装过程……再偷个懒:

Windows看这里

Mac看这里

Linux看这里(你都用linux了……应该……也许……也不需要看这个了吧?ヽ(°▽、°)ノ)


装好之后就可以愉快的和Python玩耍咯!

打开电脑里的Anaconda Prompt(Windows)或者“终端”(Mac/Linux),输入jupyter notebook然后回车,你就能进入Jupyter Notebook写点东西玩玩啦

如果你想进入base环境,可以在窗口里输入:

conda activate base

可以在这里下载上面的那个例子。包含以下文件:

ipynb文件就是Jupyter Notebook的文件。但是不能直接双击点开它,要先进到Jupyter Notebook才能打开它。Notebook默认进入的是User目录(Windows里面是C:/Users/你的用户名,Mac是个人文件夹,Linux…不懂user在哪儿还用啥linux =D),但是如果你想让它进入你指定的目录的话,可以按照以下操作进入目录后,再输入jupyter notebook启动它:

Mac/Linux:在终端里输入cd 空格 然后将文件夹拖进去(或者直接输入路径),回车

Windows:在Anaconda Prompt中输入文件所在盘符,比如F盘就输入:

F:

然后按照Mac那样来就行,cd 空格 想去的地方

包安装

之后如果想安装其他包的话,直接在Prompt/终端里输入:

pip install xxx

比如我想安装一个叫做“pygtrans”的包:

pip install pygtrans

如果看到这句话就说明安装成功啦!

这个包能够调用谷歌翻译进行批量翻译,超好用的。感兴趣可以看看它的文档来了解它的用法。

上面提到的pip就是用来安装Python包的,但是由于服务器在海外,如果墙内用户觉得速度太慢的话可以换成清华的源,按照里面的“设为默认“来操作就行啦。

还要知道点啥……

Python基础!我的建议是在开始学习怎么用包之前,先将基础打好,了解Python的语法、简单计算、数据的储存方式(list & dict)、判断(if)、循环(for & while)和递归(出新手村啦!)等。(BA的小朋友们,没错,就是Howard的那门课的内容)

我将在另一个系列“数据结构与算法 with Python”里慢慢讲一些相关的内容如果你们等不及的话,可以去B站搜搜Python入门、基础之类的看看,或者去菜鸟教程看看,都挺不错的。

接下来讲点啥……

之后每发一篇完会回来打个超链接的。也会随时补充忘记写的东西

  1. Pandas处理表格 - 定位、排序、去空值、统计
  2. Pandas处理表格 - 分割字符串、替换、画图 (with matplotlib) and more
  3. Matplotlib和Seaborn画图 - 散点图、柱状图、饼图、热力图 and more
  4. 表格类总结和拓展
  5. NTLK与自然语言处理(NLP)
  6. SciPy算概率 - 二项分布、Poisson分布和正态分布
  7. 线性回归:用多个包实现