<a href="http://www.reibang.com/p/54870e9541fc">總目錄</a>
課程頁(yè)面:https://www.udacity.com/course/intro-to-data-analysis--ud170
授課教師:Caroline Buckey
如下內(nèi)容包含課程筆記和自己的擴(kuò)展折騰
準(zhǔn)備工作:anaconda & jupyter notebook
很簡(jiǎn)單旭等,共三步:
- 第一步:install anaconda http://continuum.io/downloads
- 第二步:打開terminal,cd到工作位置,run the command
jupyter notebook ipython_notebook_tutorial.ipynb
- 第三步:看看上面打開的tutorial战虏。用的是markdown語(yǔ)法错森,很簡(jiǎn)單瞻惋。運(yùn)行一下各個(gè)code block儡首,這個(gè)軟件真心很好用渣玲。
看了一些有關(guān)IPython的介紹蔑鹦,總結(jié)如下:
- Steve Holden: Starting to Use the Jupyter Notebook
- Alfred Essa: Awesome Data Science: 1.0 Jupyter Notebook Tour
- nbconvert documentation
- Roshan: BibTex In Jupyter
NumPy 速覽
- Roshan: NumPy Basics - IPython Notebook Tutorial
https://www.youtube.com/watch?v=o8fmjaW9a0A
Pandas 速覽
- Roshan: Pandas - IPython Notebook Tutorial
https://www.youtube.com/watch?v=04zBNE2ZHSI
set
這門課程有一定難度夺克,因?yàn)闀?huì)涉及一些我從前沒(méi)有用過(guò)的python功能。不過(guò)感謝互聯(lián)網(wǎng)嚎朽,它讓我很容易就能檢索&學(xué)習(xí)新內(nèi)容铺纽。
- 有關(guān)python和set theory的簡(jiǎn)單介紹,可以參見:
http://www.python-course.eu/sets_frozensets.php - 官方文檔對(duì)于
sets
module的介紹:
https://docs.python.org/2/library/sets.html - 可參見Ramalho于2015年出版的Fluent Python的p79開始的Set Theory部分, 這本書很不錯(cuò)哟忍。
- set功能對(duì)于了解數(shù)學(xué)里set theory的人來(lái)說(shuō)很不難:
- wiki的set theory頁(yè)面:https://en.wikipedia.org/wiki/Set_theory
++++++++++++++++++++++++++++++++++
set function 是 python 的 built-in function, 直接call就行了狡门。
a = set('ZHANG Yong')
print a
print type(a)
Console:
set(['A', ' ', 'g', 'G', 'H', 'o', 'N', 'n', 'Y', 'Z'])
<type 'set'>
++++++++++++++++++++++++++++++++++
.add
a = set('ZHANG Yong')
print a
print type(a)
a.add("A")
print a
a.add("a")
print a
Console:
set(['A', ' ', 'g', 'G', 'H', 'o', 'N', 'n', 'Y', 'Z'])
<type 'set'>
set(['A', ' ', 'g', 'G', 'H', 'o', 'N', 'n', 'Y', 'Z'])
set(['A', ' ', 'g', 'G', 'H', 'o', 'N', 'n', 'a', 'Y', 'Z'])
Load Data from CSVs
- 課程提供了一個(gè)
enrollments.csv
的文檔。 - 要注意的是account_key代表了一個(gè)人锅很,但是可以有很多條記錄都用這個(gè)account_key. 這個(gè)個(gè)別的學(xué)員可以取消其馏,再加入,再取消爆安,再加入叛复。這個(gè)記錄的這個(gè)特點(diǎn),在之后的數(shù)據(jù)分析中會(huì)導(dǎo)致一些小問(wèn)題扔仓。
首先是不美的代碼:
import unicodecsv # ZY: need to install the package first
enrollments = []
f = open('enrollments.csv', 'rb')
reader = unicodecsv.DictReader(f) # ZY: read the csv file as dictionary
for row in reader:
enrollments.append(row)
f.close()
print enrollments
Console:
- [{u'status': u'canceled', u'is_udacity': u'True', u'is_canceled': u'True', u'join_date': u'2014-11-10', u'account_key': u'448', u'cancel_date': u'2015-01-14', u'days_to_cancel': u'65'}, {u'status': u'canceled', u'is_udacity': u'True', u'is_canceled': u'True', u'join_date': u'2014-11-05', u'account_key': u'448', u'cancel_date': u'2014-11-10', u'days_to_cancel': u'5'}, ... {u'status': u'current', u'is_udacity': u'False', u'is_canceled': u'False', u'join_date': u'2015-08-23', u'account_key': u'686', u'cancel_date': u'', u'days_to_cancel': u''}]
美的代碼:
import unicodecsv
with open('enrollments.csv', 'rb') as f:
reader = unicodecsv.DictReader(f)
enrollments = list(reader)