geekdoc-python-zh/docs/realpython/python-for-social-scientist...

5.5 KiB
Raw Permalink Blame History

面向社会科学家的 Python

原文:https://realpython.com/python-for-social-scientists/

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

但是,尽管 Python 提供了很多东西,但现有的 Python 资源并不总是很适合社会科学家的需求。考虑到这一点,我最近创建了一个新资源——www.data-analysis-in-python.org(DAP)——专门为社会科学家 Python 用户的目标和愿望量身定制。

然而,这个网站并不是一套新的教程——世界上有比足够多的 Python 教程还要多的 T2 教程。更确切地说,该网站的目的是管理和注释现有资源,并为用户提供关注哪些主题和跳过哪些主题的指导。

为什么是社会科学家的网站?

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

社会科学家主要对编写执行一系列命令(记录变量、合并数据集、解析文本文档等)的相对简单的程序(脚本)感兴趣。)将他们的数据整理成他们可以分析的形式。因为他们通常为特定的、特殊的应用程序和数据集编写脚本,他们通常不会专注于编写具有大量抽象的代码。

换句话说,社会科学家倾向于主要对学习如何有效地使用现有工具感兴趣,而不是开发新工具。

正因为如此,学习 Python 的社会科学家在技能发展方面比软件开发人员有着不同的优先权。然而,大多数在线教程是为开发人员或计算机科学学生编写的,所以 DAP 的目的之一是为社会科学家提供一些指导,让他们知道在早期培训中应该优先考虑的技能。特别是, DAP 建议:

立即需要:

  • 数据类型:整数、浮点数、字符串、布尔值、列表、字典和集合(元组是可选的)
  • 定义函数
  • 写循环
  • 理解可变和不可变数据类型
  • 操作字符串的方法
  • 导入第三方模块
  • 阅读和解释错误

你在某个时候会想知道,但不是马上就要知道的事情:

  • 高级调试工具(如 pdb
  • 文件输入/输出(您将使用的大多数库都有工具来简化这一过程)

不需要:

  • 定义或编写类
  • 了解异常

Remove ads

熊猫

今天,大多数实证社会科学仍然围绕表格数据组织,这意味着数据在每一列中以不同的变量呈现,在每一行中以不同的观察值呈现。因此,当许多使用 Python 的社会科学家在 Python 入门教程中找不到表格数据结构时他们会感到有些困惑。为了解决这一困惑DAP 尽最大努力尽快向用户介绍熊猫图书馆,提供教程链接和一些关于注意陷阱的提示。

pandas 库复制了社会科学家习惯于在 Stata 或 R 中发现的许多功能——数据可以用表格格式表示,列变量可以很容易地标记,不同类型的列(如 floats 和 strings)可以组合在同一个数据集中。

熊猫也是社会科学家可能使用的许多其他工具的门户,如图形库( seabornggplot2 )和 statsmodels 计量经济学库。

按研究领域分类的其他图书馆

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

想参与进来吗?

这个网站是年轻的,所以我们渴望尽可能多的内容和设计的投入。如果你有这方面的经验,你想分享给我发一封的电子邮件或者在 Github 上发一条的评论


这是范德比尔特大学民主制度研究中心的博士后尼克·尤班克的客座博文*