学经济为什么学python_工具&方法丨划重点 ! 经济学专业学Python需要学哪些内容?——数据分析处理必知必会的知识点...

也许会有专业软件工程师认为,Python的火热有些“过誉”了,但是在经济学乃至数据科学领域,Python的火热绝对是能够理解和值得期待的。大数据时代来临,任何一位想要在未来的经济学界立足的「有志青年」,都应该抓住这把“火”。本文将为那些还没有上手但准备上手的「有志青年」们梳理一份学习Python的内容清单,着重列出数据分析处理方面需要用到的模块。

注:以下知识点主要以Python 的第三方包为主。科普园地/ Science ParkPython的第三方包:Python 具有丰富的扩展性,成千上万的第三方扩展包不断为 Python 赋能,使得其能够承载各式各样的需求。一般代码前几行,如import pandas as pd ,就是在导入第三方包。得益于免费开源的设计理念,任何人都可以为其贡献第三包,反过来许多优秀的第三方包又促进更多的人使用Python,进而创造出更多的第三方包,如此形成一种良性循环。Pandas 数据操作的基石

毫不过分地说,学好 Pandas 甚至比学好 Python 更重要。因为正是Pandas的好用,才奠定了 Python 在数据科学领域的地位。

那么,Pandas 是什么?Pandas 是 Python 的第三方包,用于数据处理。Python 默认的数据格式,无论是列表还是字典,都不能很好地用于操作在现实中常见的二维数据。Pandas正是为解决此问题而生,Pandas 提供了一种名为 DataFrame 的数据格式,将数据储存为一个二维表的形式,再通过各种函数方法,对数据进行横向、纵向、亦或按条件的切片来对数据进行处理,最终得到需要的数据结果。

Pandas 提供了快速而高效的 DataFrame 对象,用于数据操作与综合索引(索引就是用来快速查找对象的,例如快速找到标示性别的一列)。通过 Pandas 你可以轻松读取CSV和文本文件、Microsoft Excel、SQL数据库或者HDF5格式的数据。并且基于各种索引与标签,你可以轻松创建数据切片(例如一个数据里标示年纪的切片),通过大数据集筛选特定子集(例如,筛选性别为男性、年龄大于18岁的成人男性样本)。

总结一下,无论是基础的数据操作,还是为日后扩展,Pandas 都是极为基础且重要的一款第三方包。GitHub 项目地址:https://github.com/pandas-dev/pandas

官方文档地址:

https://pandas.pydata.org/pandas-docs/stable/Numpy 为Python 提供强劲的运算支持

Numpy 是 Pandas 的一个依赖项(安装 Pandas 时会自动安装 Numpy),Pandas的高效率一部分原因就是归功于 Numpy 的强大。

Numpy 提供了一种比 Python 自带的数据运算更加高效的方法。简单理解,就是 Numpy 的运算比 Python 默认数据结构的运算更快,更高效。当你的分析涉及到数组运算,尤其是多维数组运算时,那你应当考虑学习使用 Numpy 。同时,Numpy 也提供了强大的线性代数、傅立叶变化、随机数等数学运算的功能。

总之,Numpy 是Python 数据处理的又一块基石,在机器学习和深度学习领域,Numpy 具有广泛的应用。所以学习 Numpy 到如何的深度,需要看你所研究的领域,是否需要用到较为高级的数学运算。官方地址:https://numpy.org/

官方文档:https://numpy.org/doc/

如果你熟悉 Matalab,可以查看:

《与matlab比较》,也可以对照中文翻译版

Statsmodels 将计量搬到python上来

通过 Pandas 进行数据处理,筛选到了需要的数据,那接下来需要做什么呢?当然是开始计量之旅喽!

很自然地,我们会想到将数据从 Pandas的DataFrame 导出成 CSV,再导入到 Stata 中,进行计量运算嘛?其实大可不必,为了避免海量数据导致无法导入stata的尴尬,可以在 Python中自己写一个 OLS 函数,然后反复调用即可。(此时可能有读者冒出了大量的 「黑人问号.jpg」)

是的 Python 当中也有计量库了:Statsmodels 。Statsmodels 是一个Python的第三方模块,他封装了许多计量模型,方便学者直接调用。所谓封装,就相当于 Stata 中一个 reg 命令,代表了最基础的 OLS 回归命令,在Statsmodels 中也有类似 reg 的语句,提供给 OLS 估计。详细的内容可以参考工具&方法 | 6行代码教你用python做OLS回归,以及下面的官方链接。科普园地/ Science Park程序的封装:封装就是隐藏一些对象的属性和实现细节,仅对外公开接口;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”(在 Python 中就是 class ) ,方便其他人使用自己的代码。更将形象的比喻,可以用瑞士军刀来举例子1,一把瑞士军刀相当于封装了小刀、开瓶器、剪刀等功能,然后当你需要用剪刀时,拨出剪刀这个“接口”即可。类似的,在写代码的过程中,你也可以把一些常用的方法写出特定的函数进行封装,上例中的 Statsmodels 就封装了计量的函数方法。

不得不说,通过 Statsmodels,Python 中做计量的成本大大降低,学习 Python 对于经济学学生来说,也能做到「全程无忧」式的使用体验。官方地址:https://www.statsmodels.org/stable/index.html

官方示例:

https://www.statsmodels.org/stable/examples/index.htmlsqlachemy ( or pymysql、cx_oracle) 进阶操作,处理 SQL 数据库

如今许多大数据被存放在以MySQL、Oracle为代表的sql数据库中,相比于 Stata ,Python还可以很容易地链接到sql数据库,直接对数据库内的数据进行操作。在Python当中,通过 pymysql 能够链接到 mysql 数据库,通过 cx_oracle 能够链接到 Oracle 数据库。

如果你是在总的大数据集中筛选出自己需要子集再进行操作。并且你对SQL 语句不熟悉,还可以使用 sqlachemy 一类的ORM框架的方式,跳过原生 SQL 语句,通过类似 Pandas 的筛选语句的方式来操作数据库查询,获取需要的数据子集。再将数据储存为 DataFrame 格式,利用 Pandas 进行精细化的二次处理,再通过上面提到的 Statsmodels 等第三方包进行计量处理。但是更加复杂的数据匹配融合,则另当别论了。官方地址:

https://www.sqlalchemy.org/

小编整理的经济学学生需要用的数据处理相关的包已经介绍完毕了,简单总结一下:(1)当你拿到数据是 CSV 一类格式的数据时,通过 Pandas 将文件读取为一个 DataFrame,然后对其按需求进行筛选和运算,得到自己需要的数据集。

(2)如果数据储存在 SQL 数据库中,通过Python 连接数据库,运用 ORM 框架或者 原生 SQL 语句对数据进行筛选,拿到自己需要子集后,读取到 DataFrame 中,在Pandas中再进行更加精细化的处理,得到真正需要的数据集。

(3)以上数据集可以通过 Python 的Statsmodels进行计量分析。

至此,一个数据处理 Workflow(工作流)在 Python 得到完整的体现。

根据本文的阅读的阅读数量和点赞情况,我们会考虑基础推出数据获取(爬虫)、数据可视化的相关内容哦。至于先做哪部分内容,也由亲爱的读者朋友们投票决定~

作者:王学习(黄胜蓝)

你可能感兴趣的:(学经济为什么学python)