發(fā)布于:2021-01-20 10:52:31
0
136
0
Python是社會科學(xué)家們?nèi)找媪餍械臄?shù)據(jù)分析工具。在許多已經(jīng)成熟的庫的支持下,R和Stata用戶正越來越多地轉(zhuǎn)向Python,以利用Python的美觀、靈活性和性能,同時又不犧牲這些老程序多年來積累的功能。
但是,盡管Python提供了很多東西,但是現(xiàn)有的Python資源并不總是很適合社會科學(xué)家的需要??紤]到這一點,我最近創(chuàng)建了一個新的資源-專門為社會科學(xué)家Python用戶的目標和愿望定制。
這個網(wǎng)站不是一套新的教程,但是世界上有足夠多的Python教程。相反,該網(wǎng)站的目的是對現(xiàn)有資源進行整理和注釋,并為用戶提供關(guān)于關(guān)注哪些主題和跳過哪些主題的指導(dǎo)。
為什么要建一個社會科學(xué)家的網(wǎng)站?
社會科學(xué)家,事實上,大多數(shù)數(shù)據(jù)科學(xué)家花了大部分時間試圖將個別的、特殊的數(shù)據(jù)集整合成運行統(tǒng)計分析所需的形狀。這使得大多數(shù)社會科學(xué)家使用Python的方式與大多數(shù)軟件開發(fā)人員使用Python的方式有根本的不同。
社會科學(xué)家主要感興趣的是編寫相對簡單的程序(腳本),執(zhí)行一系列命令(重新編碼變量、合并數(shù)據(jù)集、解析文本文檔等)來整理數(shù)據(jù)變成他們可以分析的形式。而且,由于他們通常是為特定的、特殊的應(yīng)用程序和數(shù)據(jù)集編寫腳本,因此他們通常不會專注于編寫帶有大量抽象的代碼。換句話說,社會科學(xué)家往往主要對學(xué)習(xí)有效地使用現(xiàn)有工具感興趣,因此,學(xué)習(xí)Python的社會科學(xué)家在技能開發(fā)方面往往與軟件開發(fā)人員有不同的優(yōu)先權(quán)。然而,大多數(shù)在線教程都是為開發(fā)人員或計算機科學(xué)專業(yè)的學(xué)生編寫的,因此DAP的目的之一是為社會科學(xué)家提供一些指導(dǎo),指導(dǎo)他們在早期培訓(xùn)中應(yīng)該優(yōu)先考慮的技能。DAP特別建議:
立即需要:
數(shù)據(jù)類型:整數(shù)、浮點、字符串、布爾、列表、字典,和集合(元組是可選的)
定義函數(shù)
編寫循環(huán)
理解可變和不可變的數(shù)據(jù)類型
操作字符串的方法
導(dǎo)入第三方模塊
讀取和解釋錯誤,但不需要立即執(zhí)行:
在某些時候您想知道的事情,但不是立即需要的:
高級調(diào)試實用程序(如pdb)
文件輸入/輸出(您將使用的大多數(shù)庫都具有為您簡化此過程的工具)
不需要:
定義或編寫課程
了解異常
pandas
時至今日,大多數(shù)經(jīng)驗主義社會科學(xué)仍然圍繞表格數(shù)據(jù)進行組織,這意味著在每一列中呈現(xiàn)出不同變量而在每一行呈現(xiàn)出不同觀察結(jié)果的數(shù)據(jù)。結(jié)果,許多使用Python的社會科學(xué)家在找不到Python入門指南中介紹的表格數(shù)據(jù)結(jié)構(gòu)時有些困惑。為了解決這種混亂,DAP盡最大努力將用戶盡快引入pandas庫,并提供了教程鏈接和一些需要注意的小竅門。
pandas庫復(fù)制了社會科學(xué)家用來在Stata或R中發(fā)現(xiàn)的許多功能-數(shù)據(jù)可以以表格格式表示,可以輕松標記列變量,并且可以組合不同類型的列(例如浮點數(shù)和字符串)在同一數(shù)據(jù)集中。
pandas還是社會科學(xué)家可能使用的許多其他工具的門戶,例如圖形庫(seaborn和ggplot2)以及statsmodels計量經(jīng)濟學(xué)庫。
按研究領(lǐng)域劃分的其他庫
盡管所有希望使用Python的社會科學(xué)家都需要了解核心語言,并且大多數(shù)人都希望熟悉pandas,但是Python生態(tài)系統(tǒng)充滿了特定于應(yīng)用程序的庫,這些庫僅對部分用戶有用??紤]到這一點,DAP提供了一個庫概述,以幫助研究人員在不同主題領(lǐng)域工作,并提供了有關(guān)最佳使用材料的鏈接以及有關(guān)注意事項的指南:
網(wǎng)絡(luò)分析:iGraph
文本分析:NLTK,如果需要,請輸入coreNLP
計量經(jīng)濟學(xué):統(tǒng)計模型
圖形:ggplot和seaborn
大數(shù)據(jù):dask和pyspark
地理空間分析:Arcpy或Geopandas
使代碼更快:%prun在iPython(用于概要分析)和numba(用于JIT編譯)中