社会科学家的Python

发布于:2021-01-20 10:52:31

0

108

0

真正的Python 数据科学 Python

Python是社会科学家们日益流行的数据分析工具。在许多已经成熟的库的支持下,R和Stata用户正越来越多地转向Python,以利用Python的美观、灵活性和性能,同时又不牺牲这些老程序多年来积累的功能。

但是,尽管Python提供了很多东西,但是现有的Python资源并不总是很适合社会科学家的需要。考虑到这一点,我最近创建了一个新的资源-专门为社会科学家Python用户的目标和愿望定制。

这个网站不是一套新的教程,但是世界上有足够多的Python教程。相反,该网站的目的是对现有资源进行整理和注释,并为用户提供关于关注哪些主题和跳过哪些主题的指导。

为什么要建一个社会科学家的网站?

社会科学家,事实上,大多数数据科学家花了大部分时间试图将个别的、特殊的数据集整合成运行统计分析所需的形状。这使得大多数社会科学家使用Python的方式与大多数软件开发人员使用Python的方式有根本的不同。

社会科学家主要感兴趣的是编写相对简单的程序(脚本),执行一系列命令(重新编码变量、合并数据集、解析文本文档等)来整理数据变成他们可以分析的形式。而且,由于他们通常是为特定的、特殊的应用程序和数据集编写脚本,因此他们通常不会专注于编写带有大量抽象的代码。换句话说,社会科学家往往主要对学习有效地使用现有工具感兴趣,因此,学习Python的社会科学家在技能开发方面往往与软件开发人员有不同的优先权。然而,大多数在线教程都是为开发人员或计算机科学专业的学生编写的,因此DAP的目的之一是为社会科学家提供一些指导,指导他们在早期培训中应该优先考虑的技能。DAP特别建议:

立即需要:

  • 数据类型:整数、浮点、字符串、布尔、列表、字典,和集合(元组是可选的)

  • 定义函数

  • 编写循环

  • 理解可变和不可变的数据类型

  • 操作字符串的方法

  • 导入第三方模块

  • 读取和解释错误,但不需要立即执行:

在某些时候您想知道的事情,但不是立即需要的:

  • 高级调试实用程序(如pdb)

  • 文件输入/输出(您将使用的大多数库都具有为您简化此过程的工具)

不需要:

  • 定义或编写课程

  • 了解异常

pandas

时至今日,大多数经验主义社会科学仍然围绕表格数据进行组织,这意味着在每一列中呈现出不同变量而在每一行呈现出不同观察结果的数据。结果,许多使用Python的社会科学家在找不到Python入门指南中介绍的表格数据结构时有些困惑。为了解决这种混乱,DAP尽最大努力将用户尽快引入pandas库,并提供了教程链接和一些需要注意的小窍门。

pandas库复制了社会科学家用来在Stata或R中发现的许多功能-数据可以以表格格式表示,可以轻松标记列变量,并且可以组合不同类型的列(例如浮点数和字符串)在同一数据集中。

pandas还是社会科学家可能使用的许多其他工具的门户,例如图形库(seaborn和ggplot2)以及statsmodels计量经济学库。

按研究领域划分的其他库

尽管所有希望使用Python的社会科学家都需要了解核心语言,并且大多数人都希望熟悉pandas,但是Python生态系统充满了特定于应用程序的库,这些库仅对部分用户有用。考虑到这一点,DAP提供了一个库概述,以帮助研究人员在不同主题领域工作,并提供了有关最佳使用材料的链接以及有关注意事项的指南:

  • 网络分析:iGraph

  • 文本分析:NLTK,如果需要,请输入coreNLP

  • 计量经济学:统计模型

  • 图形:ggplot和seaborn

  • 大数据:dask和pyspark

  • 地理空间分析:Arcpy或Geopandas

  • 使代码更快:%prun在iPython(用于概要分析)和numba(用于JIT编译)中