PYTHON, NUMP AND PARK
[Pages:52]PYTHON, NUMPY, AND SPARK
Prof. Chris Jermaine cmj4@cs.rice.edu
1
Next 1.5 Days
? Intro to Python for statistical/numerical programming (day one)
-- Focus on basic NumPy API, using arrays efficiently -- Will take us through today
? Intro to cloud computing, Big Data computing
-- Focus on Amazon AWS (but other cloud providers similar) -- Focus on Spark: Big Data platform for distributing Python/Java/Scala comps
? Will try to do all of this in context of interesting examples
-- With a focus on text processing -- But ideas applicable to other problems
2
Python
? Old language, first appeared in 1991
-- But updated often over the years
? Important characteristics
-- Interpreted -- Dynamically-typed -- High level -- Multi-paradigm (imperative, functional, OO) -- Generally compact, readable, easy-to-use
? Boom on popularity last five years
-- Now the first PL learned in many CS departments
3
Python: Why So Popular for Data Science?
? Dynamic typing/interpreted
-- Type a command, get a result -- No need for compile/execute/debug cycle
? Quite high-level: easy for non-CS people to pick up
-- Statisticians, mathematicians, physicists...
? More of a general-purpose PL than R
-- More reasonable target for larger applications -- More reasonable as API for platforms such as Spark
? Can be used as lightweight wrapper on efficient numerical codes
-- Unlike Java, for example
4
First Python Example
? Since Python is interpreted, can just fire up Python shell
-- Then start typing
? Ex, fire up shell and type (exactly!)
def Factorial (n): if n == 1 or n == 0: return 1 else: return n * Factorial (n - 1)
Factorial (12)
? Will print out 12 factorial
5
Python Basics Continued
? Some important Python basics... ? Spacing and indentaton
-- Indentation important... no begin/end nor {}... indentation signals code block -- Blank lines important; can't have blank line inside of indented code block
? Variables
-- No declaration -- All type checking dynamic -- Just use
6
Python Basics Continued
? Dictionaries
-- Standard container type is dictionary/map -- Example: wordsInDoc = {} creates empty dictionary -- Add data by saying wordsInDoc[23] = 16 -- Now can write something like if wordsInDoc[23] == 16: ... -- What if wordsInDoc[23] is not there? Will crash -- Protect with if wordsInDoc.get (23, 0)... returns 0 if key 23 not defined
? Functions/Procedures
-- Defined using def myFunc (arg1, arg2): -- Make sure to indent! -- Procedure: no return statement -- Function: return statement
7
Python Basics Continued
? Loops
-- Of form for var in range (0, 50): loops for var in {0, 1, ..., 49}
-- Or for var in dataStruct: loops through each entry in dataStruct
-- dataStruct can be an array, or a dictionary -- If array, you loop through the entries -- If dictionary, you loop through the keys -- Try
a = {} a[1] = `this' a[2] = `that' a[3] = `other' for b in a:
a[b]
8
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- how to pass data into and out of a loop
- python arrays university of babylon
- high performance computing in python using
- programming for gcse topic 6 1 lists arrays and
- python nump and park
- basic python programming for loops and reading
- computational physics python programming
- loops in python
- a beginners guide to arrays and do loops
Related searches
- python permutations and combinations
- python probability and statistics
- python sin and cos
- python class and method examples
- python create and write file
- python find and replace string
- python find and replace characters
- python search and replace text
- python search and replace file
- python commands and functions pdf
- python using and in if statement
- python search and replace in string