Day 5 Python數據運用的初級水準,你達到了嗎?
2017年數字媒介研修班的第一個教學周結束。本周,研修班請到了美國紐約大學教授Allison Parrish,帶領大家完成了對「數據運營與Python(初級)」的學習。Allison是前哥倫比亞大學新聞學院數據可視化LEDE項目數據與資料庫課程講師,福特漢姆大學開設超文本和交互敘事課程講師。
Allison Parrish帶著學員打代碼
過去五天,研修班的同學們完成了從不知代碼為何物的「小白」,到能運用諸如Jupyter Notebook等基本數據處理工具的「進化」。回顧過去五天的課程,同學們首先對在電腦終端(Terminal)里運行UNIX程式,處理簡單文字和數據資料,又對CPU、RAM等計算機運行規則、和常用編程語言,如Python、C++、Java script、R等進行了了解。跟著,Allison又向同學們介紹了交互筆記本Jupyter Notebook的編程環境和邏輯,進而正式開始對Python數據結構及數據處理編程部分的學習。
感覺自己超級棒~
GIF/125K
在今天的課程中,Allison主要向學員們介紹了兩個部分的內容
利用Counter進行計數
如何從互聯網網頁中獲取數據
1 利用Counter進行計數
要使用Counter, 你首先需要import collection。
而在對文本進行計數時,又有不同用法。
例如
text = open("genesis.txt").read() # read the entire file in as a string
words = text.split() # split it up into words
或者對計數的結果進行排序
count.most_common(25)
2 如何從網頁中獲取需要的數據呢?
利用API(應用程序編程介面)可以解決這個問題。
API小檔案
API是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟體或硬體得以訪問一組常式的能力,而又無需訪問源碼。
1)獲取數據的目標地址:URL
URL是統一資源定位符,互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎麼處理它。
2)一種數據交換語言:Json
JSON (JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。它的結構簡潔、清晰,易於人閱讀和編寫、也易於機器解析和生成,能有效地提升網路傳輸效率,是一種理想的數據交換語言。
Allison Parrish正在黑板上詳細解析url每段代碼的含義
獲得網頁內容代碼的一般寫法是:
import requests
api_key = "a80a5131f7620c32a8919063dce09d01b6239543e3d0063bf"
url = "http://api.wordnik.com:80/v4/word.json/hello/definitions?api_key=" + api_key
response = requests.get(url)
data = response.json()
data
關於今天的課程,還有兩點Tips分享:
TIPS1:
如果在使用open(『/path』).read()打開中文文本的過程中出現亂碼,可以指定編碼方式為『utf-8』,即open(/path, encoding=『utf8』).read(),以支持中文。
TIPS2:
最後,我們的學員在「survive」了第一周的課程後,收穫滿滿~~
你呢?不妨通過以下24個小指令來自測一下吧!
數字媒介研修班簡介
「數字媒介研修班」是由北京大學滙豐商學院財經傳媒專業主辦,參照哥倫比亞大學的LEDE項目,開設為期5周的數字媒介教學。由北京大學滙豐商學院財經傳媒專業徐泓教授擔任學術總指導,並邀請到紐約大學、邁阿密大學、香港浸會大學的教授授課,每周六邀請數據新聞資深媒體人聯合指導。本期研修班共有30名學員,其中包括12名媒體學員和18名在校學員。
文 | 於文瀾 王文浩
編輯 | 陳雪
點擊展開全文
※學Python語言到底好不好?
※Python還能用來做這個?只要你想,就有這種操作!
※退伍兵想年薪十萬,學Python,是首選
※編程老司機的筆記,帶你系統學Python
※如何優雅的寫好Pythonic代碼?
TAG:Python |