Python_27_Udacity_Buckey_Intro to Data Analysis_1_Data Analysis Process

总目录


课程页面:https://www.udacity.com/course/intro-to-data-analysis--ud170
授课教师:Caroline Buckey
如下内容包含课程笔记和自己的扩展折腾

准备工作:anaconda & jupyter notebook

很简单,共三步:

  • 第一步:install anaconda http://continuum.io/downloads
  • 第二步:打开terminal,cd到工作位置,run the command jupyter notebook ipython_notebook_tutorial.ipynb
  • 第三步:看看上面打开的tutorial。用的是markdown语法,很简单。运行一下各个code block,这个软件真心很好用。

看了一些有关IPython的介绍,总结如下:

  • Steve Holden: Starting to Use the Jupyter Notebook
  • Alfred Essa: Awesome Data Science: 1.0 Jupyter Notebook Tour
    • Tutorial materials
  • 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

这门课程有一定难度,因为会涉及一些我从前没有用过的python功能。不过感谢互联网,它让我很容易就能检索&学习新内容。

  • 有关python和set theory的简单介绍,可以参见:
    http://www.python-course.eu/sets_frozensets.php
  • 官方文档对于sets module的介绍:
    https://docs.python.org/2/library/sets.html
  • 可参见Ramalho于2015年出版的Fluent Python的p79开始的Set Theory部分, 这本书很不错。
  • set功能对于了解数学里set theory的人来说很不难:
    • wiki的set theory页面: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'])

++++++++++++++++++++++++++++++++++

.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'])

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

  • 课程提供了一个enrollments.csv的文档。
  • 要注意的是account_key代表了一个人,但是可以有很多条记录都用这个account_key. 这个个别的学员可以取消,再加入,再取消,再加入。这个记录的这个特点,在之后的数据分析中会导致一些小问题。
Python_27_Udacity_Buckey_Intro to Data Analysis_1_Data Analysis Process_第1张图片
enrollments.csv 文档的表格化显示

首先是不美的代码:

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)

你可能感兴趣的:(Python_27_Udacity_Buckey_Intro to Data Analysis_1_Data Analysis Process)