1 Introduction to Python for Econometrics, Statistics and Data Analysis Kevin Sheppard University of Oxford Tuesday 5 th August, 2014
2 - 2012, 2013, 2014 Kevin Sheppard 2
3 Changes since the Second Edition Version (August 2014) Fixed typos reported by a reader thanks to Ilya Sorvachev Version 2.2 (July 2014) Code verified against Anaconda Added diagnostic tools and a simple method to use external code in the Cython section. Updated the Numba section to reflect recent changes. Fixed some typos in the chapter on Performance and Optimization. Added examples of joblib and IPython s cluster to the chapter on running code in parallel Version 2.1 (February 2014) New chapter introducing object oriented programming as a method to provide structure and organization to related code. Added seaborn to the recommended package list, and have included it be default in the graphics chapter. Based on experience teaching Python to economics students, the recommended installation has been simplified by removing the suggestion to use virtual environment. The discussion of virtual environments as been moved to the appendix. Rewrote parts of the pandas chapter. Code verified against Anaconda Version 2.02 (November 2013) Changed the Anaconda install to use both create and install, which shows how to install additional packages. Fixed some missing packages in the direct install. Changed the configuration of IPython to reflect best practices. Added subsection covering IPython profiles. i
4 Version 2.01 (October 2013) Updated Anaconda to 1.8 and added some additional packages to the installation for Spyder. Small section about Spyder as a good starting IDE. ii
5 Notes to the 2 nd Edition This edition includes the following changes from the first edition (March 2012): The preferred installation method is now Continuum Analytics Anaconda. Anaconda is a complete scientific stack and is available for all major platforms. New chapter on pandas. pandas provides a simple but powerful tool to manage data and perform basic analysis. It also greatly simplifies importing and exporting data. New chapter on advanced selection of elements from an array. Numba provides just-in-time compilation for numeric Python code which often produces large performance gains when pure NumPy solutions are not available (e.g. looping code). Dictionary, set and tuple comprehensions Numerous typos All code has been verified working against Anaconda iii
7 Contents 1 Introduction Background Conventions Important Components of the Python Scientific Stack Setup Using Python Exercises A Frequently Encountered Problems B register_python.py C Advanced Setup Python 2.7 vs. 3 (and the rest) Python 2.7 vs Intel Math Kernel Library and AMD Core Math Library Other Variants A Relevant Differences between Python 2.7 and Built-in Data Types Variable Names Core Native Data Types Python and Memory Management Exercises Arrays and Matrices Array Matrix dimensional Arrays dimensional Arrays Multidimensional Arrays Concatenation Accessing Elements of an Array Slicing and Memory Management v
8 4.9 import and Modules Calling Functions Exercises Basic Math Operators Broadcasting Array and Matrix Addition (+) and Subtraction (-) Array Multiplication (*) Matrix Multiplication (*) Array and Matrix Division (/) Array Exponentiation (**) Matrix Exponentiation (**) Parentheses Transpose Operator Precedence Exercises Basic Functions and Numerical Indexing Generating Arrays and Matrices Rounding Mathematics Complex Values Set Functions Sorting and Extreme Values Nan Functions Functions and Methods/Properties Exercises Special Arrays Exercises Array and Matrix Functions Views Shape Information and Transformation Linear Algebra Functions Exercises Importing and Exporting Data Importing Data using pandas Importing Data without pandas Saving or Exporting Data using pandas vi
9 9.4 Saving or Exporting Data without pandas Exercises Inf, NaN and Numeric Limits inf and NaN Floating point precision Exercises Logical Operators and Find >, >=, <, <=, ==,!= and, or, not and xor Multiple tests is* Exercises Advanced Selection and Assignment Numerical Indexing Logical Indexing Performance Considerations and Memory Management Assignment with Broadcasting Exercises Flow Control, Loops and Exception Handling Whitespace and Flow Control if... elif... else for while try... except List Comprehensions Tuple, Dictionary and Set Comprehensions Exercises Dates and Times Creating Dates and Times Dates Mathematics Numpy datetime Graphics seaborn D Plotting Advanced 2D Plotting D Plotting vii
10 15.5 General Plotting Functions Exporting Plots Exercises Structured Arrays Mixed Arrays with Column Names Record Arrays pandas Data Structures Statistical Function Time-series Data Importing and Exporting Data Graphics Examples Custom Function and Modules Functions Variable Scope Example: Least Squares with Newey-West Covariance Anonymous Functions Modules Packages PYTHONPATH Python Coding Conventions Exercises A Listing of econometrics.py Probability and Statistics Functions Simulating Random Variables Simulation and Random Number Generation Statistics Functions Continuous Random Variables Select Statistics Functions Select Statistical Tests Exercises Non-linear Function Optimization Unconstrained Optimization Derivative-free Optimization Constrained Optimization Scalar Function Minimization viii
11 20.5 Nonlinear Least Squares Exercises String Manipulation String Building String Functions Formatting Numbers Regular Expressions Safe Conversion of Strings File System Operations Changing the Working Directory Creating and Deleting Directories Listing the Contents of a Directory Copying, Moving and Deleting Files Executing Other Programs Creating and Opening Archives Reading and Writing Files Exercises Performance and Code Optimization Getting Started Timing Code Vectorize to Avoid Unnecessary Loops Alter the loop dimensions Utilize Broadcasting Use In-place Assignment Avoid Allocating Memory Inline Frequent Function Calls Consider Data Locality in Arrays Profile Long Running Functions Numba Cython External Code Exercises Executing Code in Parallel map and related functions multiprocessing joblib IPython s Parallel Cluster Converting a Serial Program to Parallel ix
12 24.6 Other Concerns when executing in Parallel Object Oriented Programming (OOP) Introduction Class basics Building a class for Autoregressions Exercises Other Interesting Python Packages statsmodels pytz and babel rpy PyTables and h5py Examples Estimating the Parameters of a GARCH Model Estimating the Risk Premia using Fama-MacBeth Regressions Estimating the Risk Premia using GMM Outputting L A T E X Quick Reference Built-ins NumPy (numpy) SciPy Matplotlib Pandas IPython x
13 Chapter 1 Introduction 1.1 Background These notes are designed for someone new to statistical computing wishing to develop a set of skills necessary to perform original research using Python. They should also be useful for students, researchers or practitioners who require a versatile platform for econometrics, statistics or general numerical analysis (e.g. numeric solutions to economic models or model simulation). Python is a popular general purpose programming language which is well suited to a wide range of problems. 1 Recent developments have extended Python s range of applicability to econometrics, statistics and general numerical analysis. Python with the right set of add-ons is comparable to domain-specific languages such as R, MATLAB or Julia. If you are wondering whether you should bother with Python (or another language), a very incomplete list of considerations includes: You might want to consider R if: You want to apply statistical methods. The statistics library of R is second to none, and R is clearly at the forefront in new statistical algorithm development meaning you are most likely to find that new(ish) procedure in R. Performance is of secondary importance. Free is important. You might want to consider MATLAB if: Commercial support, and a clean channel to report issues, is important. Documentation and organization of modules is more important than raw routine availability. Performance is more important than scope of available packages. MATLAB has optimizations, such as Just-in-Time (JIT) compilation of loops, which is not automatically available in most other packages. You might want to consider Julia if: 1 According to the ranking onhttp://www.tiobe.com/, Python is the 8 th most popular language. nl/ ranks Python as 5 th or 6 th, and on Python is 6 th. 1
14 Performance in an interactive based language is your most important concern. You don t mind learning enough Python to interface with Python packages. The Julia ecosystem is in its infancy and a bridge to Python is used to provide important missing features. You like living on the bleeding edge, and aren t worried about code breaking across new versions of Julia. You like to do most things yourself. Having read the reasons to choose another package, you may wonder why you should consider Python. You need a language which can act as an end-to-end solution so that everything from accessing webbased services and database servers, data management and processing and statistical computation can be accomplished in a single language. Python can even be used to write server-side apps such as dynamic website (see e.g. apps for desktop-class operating systems with graphical user interfaces and even tablets and phones apps (ios and Android). Data handling and manipulation especially cleaning and reformatting is an important concern. Python is substantially more capable at data set construction than either R or MATLAB. Performance is a concern, but not at the top of the list. 2 Free is an important consideration Python can be freely deployed, even to 100s of servers in a compute cluster or in the cloud (e.g. Amazon Web Services or Azure). Knowledge of Python, as a general purpose language, is complementary to R/MATLAB/Julia/Ox/- GAUSS/Stata. 1.2 Conventions These notes will follow two conventions. 1. Code blocks will be used throughout. """A docstring """ # Comments appear in a different color # Reserved keywords are highlighted and as assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield # Common functions and classes are highlighted in a # different color. Note that these are not reserved, 2 Python performance can be made arbitrarily close to C using a variety of methods, including Numba (pure python), Cython (C/Python creole language) or directly calling C code. Moreover, recent advances have substantially closed the gap with respect to other Just-in-Time compiled languages such as MATLAB. 2
15 # and can be used although best practice would be # to avoid them if possible array matrix xrange list True False None # Long lines are indented some_text = This is a very, very, very, very, very, very, very, very, very, very, very, very long line. 2. When a code block contains >>>, this indicates that the command is running an interactive IPython session. Output will often appear after the console command, and will not be preceded by a command indicator. >>> x = 1.0 >>> x If the code block does not contain the console session indicator, the code contained in the block is intended to be executed in a standalone Python file. from future import print_function import numpy as np x = np.array([1,2,3,4]) y = np.sum(x) print(x) print(y) 1.3 Important Components of the Python Scientific Stack Python Python (or later, but in the Python 2.7.x family) is required. This provides the core Python interpreter NumPy NumPy provides a set of array and matrix data types which are essential for statistics, econometrics and data analysis SciPy SciPy contains a large number of routines needed for analysis of data. The most important include a wide range of random number generators, linear algebra routines and optimizers. SciPy depends on NumPy IPython IPython provides an interactive Python environment which enhances productivity when developing code or performing interactive data analysis. 3
16 1.3.5 matplotlib and seaborn matplotlib provides a plotting environment for 2D plots, with limited support for 3D plotting. seaborn is a Python package that improves the default appearance of matplotlib plots without any additional code pandas pandas provides high-performance data structures Performance Modules A number of modules are available to help with performance. These include Cython and Numba. Cython is a Python module which facilitates using a simple Python-derived creole to write functions that can be compiled to native (C code) Python extensions. Numba uses a method of just-in-time compilation to translate a subset of Python to native code using Low-Level Virtual Machine (LLVM). 1.4 Setup The recommended method to install the Python scientific stack is to use Continuum Analytics Anaconda. Appendix 1.C describes a more complex installation procedure with instructions for directly installing Python and the required modules when it is not possible to install Anaconda. The appendix also discusses using virtual environments, which are considered best practices when using Python Continuum Analytics Anaconda Anaconda, a free product of Continuum Analytics (www.continuum.io), is a virtually complete scientific stack for Python. It includes both the core Python interpreter and standard libraries as well as most modules required for data analysis. Anaconda is free to use and modules for accelerating the performance of linear algebra on Intel processors using the Math Kernel Library (MKL) are available (free to academic users and for a small cost to non-academic users). Continuum Analytics also provides other high-performance modules for reading large data files or using the GPU to further accelerate performance for an additional, modest charge. Most importantly, installation is extraordinarily easy on Windows, Linux and OS X. Anaconda is also simple to update to the latest version using conda update conda conda update anaconda Windows Installation on Windows requires downloading the installer and running. These instructions use ANA- CONDA to indicate the Anaconda installation directory (e.g. the default is C:\Anaconda). Once the setup has completed, open a command prompt (cmd.exe) and run cd ANACONDA\Scripts conda update conda conda update anaconda conda install mkl 4
17 which will first ensure that Anaconda is up-to-date. The final line installs the recommended Intel Math Kernel Library to accelerate linear algebra routines. Using MKL requires a license which is available for free to academic uses and for a modest charge otherwise. If acquiring a license is not possible, omit this line. conda install can be used later to install other packages that may be of interest. Next, change to and then run cd ANACONDA\Scripts pip install pylint html5lib seaborn which installs additional packages not directly available in Anaconda. Note that if Anaconda is installed into a directory other than the default, the full path should not contain unicode characters or spaces. Notes The recommended settings for installing Anaconda on Windows are: Install for all users, which requires admin privileges. If these are not available, then choose the Just for me option, but be aware of installing on a path that contains non-ascii characters which can cause issues. Add Anaconda to the System PATH - This is important to ensure that Anaconda commands can be run from the command prompt. Register Anaconda as the system Python - If Anaconda is the only Python installed, then select this option. If Anaconda is not added to the system path, it is necessary to add the ANACONDA and ANACONDA\Scripts directories to the PATH using set PATH=ANACONDA;ANACONDA\Scripts;%PATH% before running Python programs. Linux and OS X Installation on Linux requires executing bash Anaconda-x.y.z-Linux-ISA.sh where x.y.z will depend on the version being installed and ISA will be either x86 or more likely x86_64. The OS X installer is available either in a GUI installed (pkg format) or as a bash installer which is installed in an identical manner to the Linux installation. It is strongly recommended that the anaconda/bin is prepended to the path. This can be performed in a session-by-session basis by entering export PATH=/home/python/anaconda/bin;$PATH On Linux this change can be made permanent by entering this line in.bashrc which is a hidden file located in ~/. On OS X, this line can be added to.bash_profile which is located in the home directory (~/). After installation completes, change to the folder where Anaconda installed (written here as ANA- CONDA, default ~/anaconda) and execute conda update conda conda update anaconda conda install mkl 5
18 which will first ensure that Anaconda is up-to-date and then to install the Intel Math Kernel library-linked modules, which provide substantial performance improvements this package requires a license which is free to academic users and low cost to others. If acquiring a license is not possible, omit this line. conda install can be used later to install other packages that may be of interest. Finally, run the command pip install pylint html5lib seaborn to install some packages not included in Anaconda. Notes All instructions for OS X and Linux assume that ANACONDA/bin has been added to the path. If this is not the case, it is necessary to run cd ANACONDA cd bin and then all commands must be prepended by a. as in.conda update conda 1.5 Using Python Python can be programmed using an interactive session using IPython or by directly executing Python scripts text files that end in the extension.py using the Python interpreter Python and IPython Most of this introduction focuses on interactive programming, which has some distinct advantages when learning a language. The standard Python interactive console is very basic and does not support useful features such as tab completion. IPython, and especially the QtConsole version of IPython, transforms the console into a highly productive environment which supports a number of useful features: Tab completion - After entering 1 or more characters, pressing the tab button will bring up a list of functions, packages and variables which match the typed text. If the list of matches is large, pressing tab again allows the arrow keys can be used to browse and select a completion. Magic function which make tasks such as navigating the local file system (using %cd ~/directory/ or just cd ~/directory/ assuming that %automagic is on) or running other Python programs (using run program.py) simple. Entering %magic inside and IPython session will produce a detailed description of the available functions. Alternatively, %lsmagic produces a succinct list of available magic commands. The most useful magic functions are cd - change directory edit filename - launch an editor to edit filename ls or ls pattern - list the contents of a directory 6
19 run filename - run the Python file filename timeit - time the execution of a piece of code or function Integrated help - When using the QtConsole, calling a function provides a view of the top of the help function. For example, entering mean( will produce a view of the top 20 lines of its help text. Inline figures - The QtConsole can also display figure inline which produces a tidy, self-contained environment. (when using the --pylab=inline switch when starting, or when using the configuration option _c.ipkernelapp.pylab="inline"). The special variable _ contains the last result in the console, and so the most recent result can be saved to a new variable using the syntax x = _. Support for profiles, which provide further customization of sessions IPython Profiles IPython supports using profiles which allows for alternative environments (at launch), either in appearance or in terms of packages which have been loaded into the IPython session. Profiles are configured using a set of files located in %USERPROFILE%\.ipython\ on Windows and ~/.config/ipython/ on OS X or Linux. There should be one directory in this location, profile_default, that is mostly empty. To configure a profile open a terminal or command prompt and run ipython profile create econometrics This will create a directory named profile_econometrics and populate it with 4 files: File ipython_config.py ipython_nbconvert_config.py ipython_notebook_config.py ipython_qtconsole_config.py Purpose General IPython setting for all IPython sessions Settings used by the Notebook converter Settings specific to IPython Notebook (browser) sessions Settings specific to QtConsole sessions The two most important are ipython_config and ipython_qtconsole_config. Opening these files in a text editor will reveal a vast array of options, all which are commented out using #. A full discussion of these files would require a chapter or more, and so please refer to the online IPython documentation for details about a specific setting (although most settings have a short comment containing an explanation and possible values). ipython_config The settings in this file apply to all IPython sessions using this profile, irrespective of whether they are in the terminal, QtConsole or Notebook. One of the most useful settings is c.interactiveshellapp.exec_lines 7
20 which allows commands to be executed each time an IPython session is open. This is useful, for example, to import specific packages commonly used in a project. Another useful configuration options is c.interactiveshellapp.pylab which can be used to load pylab in the session, and is identical to launching an IPython session using the command line switch --pylab=backend. An alternative is to use c.interactiveshellapp.matplotlib which will only load matplotlib and not the rest of pylab. ipython_qtconsole_config The settings in this file only apply to QtConsole sessions, and the most useful affect the appearance of the console. The first two can be used to set the font size (a number) and font family (a string, containing the name of the font). c.ipythonwidget.font_size c.ipythonwidget.font_family The next setting sets the model for pylab, which can in particular be set to "inline" which is identical to using the command line switch --pylab=inline when starting IPython using the QtConsole. This setting is similar to the previous pylab setting, but since this is specific to QtConsole sessions, it will override the general setting (only) in using QtConsole, and so it is possible to use, for example, "qt4", for terminalbased IPython sessions, and to use "inline" for QtConsole sessions. c.ipkernelapp.pylab This final setting is identical to the command-line switch --colors and can be set to "linux" to produce a console with a dark background and light characters. c.zmqinteractiveshell.colors Configuring IPython These notes assume that two imports are made when running code in IPython or as stand-alone Python programs. These imports are from future import print_function, division which imports the future versions of print and / (division). Open ipython_config.py in the directory profile_econometrics and set the values c.interactiveshellapp.exec_lines=["from future import print_function, division", "import os", "os.chdir( c:\\dir\\to\\start\\in )"] and c.interactiveshellapp.pylab="qt4" 8
21 This code does two things. First, it imports two future features (which are standard in Python 3.x+), the print function and division, which are useful for numerical programming. In Python 2.7, print is not a standard function and is used like print string to print. Python 3.x changes this behavior to be a standard function call, print( string to print ). I prefer the latter since it will make the move to 3.x easier, and find it more coherent with other function in Python. In Python 2.7, division of integers always produces an integer so that the result is truncated (i.e. 9/5=1). In Python 3.x, division of integers does not produce an integer if the integers are not even multiples (i.e. 9/5=1.8). Additionally, Python 3.x uses the syntax 9//5 to force integer division with truncation (i.e. 11/5=2.2, while 11//5=2). Second, pylab will be loaded by default using the qt4 backend. Changing settings in ipython_qtconsole_config.py is optional, although I recommend using c.ipythonwidget.font_size=11 c.ipythonwidget.font_family="bitstream Vera Sans Mono" c.ipkernelapp.pylab="inline" c.zmqinteractiveshell.colors="linux" These commands assume that the Bitstream Vera fonts have been locally installed, which are available from Launching IPython OS X and Linux IPython can be started by running ipython --profile=econometrics in the terminal. Starting IPython using the QtConsole is virtually identical. ipython qtconsole --profile=econometrics A single line launcher on OS X or Linux can be constructed using bash -c "ipython qtconsole --profile=econometrics" This single line launcher can be saved as filename.command where filename is a meaningful name (e.g. IPython-Terminal) to create a launcher on OS X by entering the command chmod 755 /FULL/PATH/TO/filename.command The same command can to create a Desktop launcher on Ubuntu by running sudo apt-get install --no-install-recommends gnome-panel gnome-desktop-item-edit ~/Desktop/ --create-new and then using the command as the Command in the dialog that appears. 9
22 Figure 1.1: IPython running in the standard Windows console (cmd.exe). Windows (Anaconda) To run IPython open cmd and enter ipython --profile=econometrics Starting IPython using the QtConsole is similar. ipython qtconsole --profile=econometrics Launchers can be created for these shortcuts. Start by creating a launcher to run IPython in the standard Windows cmd.exe console. Open a text editor enter cmd "/c cd ANACONDA\Scripts\ && start "" "ipython.exe" --profile=econometrics" and save the file as ANACONDA\ipython-plain.bat. Finally, right click on ipython-plain.bat select Sent To, Desktop (Create Shortcut). The icon of the shortcut will be generic, and if you want a more meaningful icon, select the properties of the shortcut, and then Change Icon, and navigate to c:\anaconda\menu\ and select IPython.ico. Opening the batch file should create a window similar to that in figure 1.1. Launching the QtConsole is similar. Start by entering the following command in a text editor cmd "/c cd ANACONDA\Scripts && start "" "pythonw" ANACONDA\Scripts\ipython-script.py qtconsole --profile=econometrics" and then saving the file as ANACONDA\ipython-qtconsole.bat. Create a shortcut for this batch file, and change the icon if desired. Opening the batch file should create a window similar to that in figure 1.2 (although the appearance might differ) Getting Help Help is available in IPython sessions using help(function). Some functions (and modules) have very long help files. When using IPython, these can be paged using the command?function or function? so that the 10
23 Figure 1.2: IPython running in a QtConsole session. 11
24 text can be scrolled using page up and down and q to quit.??function or function?? can be used to type the entire function including both the docstring and the code Running Python programs While interactive programing is useful for learning a language or quickly developing some simple code, complex projects require the use of complete programs. Programs can be run either using the IPython magic work %run program.py or by directly launching the Python program using the standard interpreter using python program.py. The advantage of using the IPython environment is that the variables used in the program can be inspected after the program run has completed. Directly calling Python will run the program and then terminate, and so it is necessary to output any important results to a file so that they can be viewed later. 3 To test that you can successfully execute a Python program, input the code in the block below into a text file and save it as firstprogram.py. # First Python program from future import print_function, division import time print( Welcome to your first Python program. ) raw_input( Press enter to exit the program. ) print( Bye! ) time.sleep(2) Once you have saved this file, open the console, navigate to the directory you saved the file and enter python firstprogram.py. Finally, run the program in IPython by first launching IPython, and the using %cd to change to the location of the program, and finally executing the program using %run firstprogram.py Testing the Environment To make sure that you have successfully installed the required components, run IPython using the shortcut previously created on windows, or by running ipython --pylab or ipython qtconsole --pylab in a Unix terminal window. Enter the following commands, one at a time (the meaning of the commands will be covered later in these notes). >>> x = randn(100,100) >>> y = mean(x,0) >>> plot(y) >>> import scipy as sp If everything was successfully installed, you should see something similar to figure IPython Notebook IPython notebooks are a useful method to share code with others. Notebooks allow for a fluid synthesis of formatted text, typeset mathematics (using LATEX via MathJax) and Python. The primary method for using IPython notebooks is through a web interface. The web interface allow creation, deletion, export 3 Programs can also be run in the standard Python interpreter using the command: exec(compile(open( filename.py ).read(), filename.py, exec )) 12
25 Figure 1.3: A successful test that matplotlib, IPython, NumPy and SciPy were all correctly installed. 13
27 Figure 1.4: The default IPython Notebook screen showing two notebooks. Figure 1.5: An IPython notebook showing formatted markdown, L A TEX math and cells containing code. 15
28 Figure 1.6: The default Spyder IDE on Windows. Spyder Spyder is an IDE specialized for use in scientific application rather than for general purpose Python application development. This is both an advantage and a disadvantage when compared to more full featured IDEs such as PyCharm, PyDev or Aptana Studio. The main advantage is that many powerful but complex features are not integrated into Spyder, and so the learning curve is much shallower. The disadvantage is similar - in more complex projects, or if developing something that is not straight scientific Python, Spyder is less capable. However, netting these two, Spyder is almost certainly the IDE to use when starting Python, and it is always relatively simple to migrate to a sophisticated IDE if needed. Spyder is started by entering spyder in the terminal or command prompt. A window similar to that in figure 1.6 should appear. The main components are the the editor (1), the object inspector (2), which dynamically will show help for functions that are used in the editor, and the console (3). By default Spyder opens a standard Python console, although it also supports using the more powerful IPython console. The object inspector window, by default, is grouped with a variable explorer, which shows the variables that are in memory and the file explorer, which can be used to navigate the file system. The console is grouped with an IPython console window (needs to be activated first using the Interpreters menu along the top edge), and the history log which contains a list of commands executed. The buttons along the top edge facilitate saving code, running code and debugging. 16
Exercise 0 Deadline: None Computer Setup Windows Download Python(x,y) via http://code.google.com/p/pythonxy/wiki/downloads and install it. Make sure that before installation the installer does not complain
An Introduction to Using Python with Microsoft Azure If you build technical and scientific applications, you're probably familiar with Python. What you might not know is that there are now tools available
CRASH COURSE PYTHON nr. Het begint met een idee This talk Not a programming course For data analysts, who want to learn Python For optimizers, who are fed up with Matlab 2 Python Scripting language expensive
AzMERIT Secure Browser Installation Manual For Technology Coordinators 2014-2015 Revised January 5, 2015 Prepared by the American Institutes for Research Descriptions of the operation of the Test Information
A+ Guide to Managing and Maintaining Your PC, 7e Chapter 2 Introducing Operating Systems Objectives Learn about the various operating systems and the differences between them Learn about the components
The World's Leading Software for Label, Barcode, RFID & Card Printing White Paper BarTender Web Print Server Web-based Software for Printing Barcodes, Labels, ID Cards and more. Contents Introduction to
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ 4.x Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Finn Årup Nielsen DTU Compute Technical University of Denmark August 31, 2014 Overview of Python parts Apart from Python itself : Builtins that include basic operations: file loading, construction of types,
Secure Browser Installation Manual 2015 2016 Published August 17, 2015 Prepared by the American Institutes for Research Table of Contents Section I. Introduction to the Secure Browser Manual... 1 Scope...
Data Analytics at NERSC Rollin Thomas email@example.com NERSC Data and Analytics Services March 21, 2016 NERSC User Group Meeting Introduction Data Analytics: The key to unlocking insight from massive and
Analysis Programs DPDAK and DAWN An Overview Gero Flucke FS-EC PNI-HDRI Spring Meeting April 13-14, 2015 Outline Introduction Overview of Analysis Programs: DPDAK DAWN Summary Gero Flucke (DESY) Analysis
GAUSS TM 9.0 Quick-Start Guide Information in this document is subject to change without notice and does not represent a commitment on the part of Aptech Systems, Inc. The software described in this document
http://bender.astro.sunysb.edu/classes/python-science Course Goals Simply: to learn how to use python to do Numerical analysis Data analysis Plotting and visualizations Symbol mathematics Write applications...
CLC Server Command Line Tools USER MANUAL Manual for CLC Server Command Line Tools 2.5 Windows, Mac OS X and Linux September 4, 2015 This software is for research purposes only. QIAGEN Aarhus A/S Silkeborgvej
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Technology in Action Chapter 4 System Software: The Operating System, Utility Programs, and File Management. Chapter Topics
Building a Python Plugin QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi This work is licensed under a Creative Commons Attribution 4.0 International License. Building a Python
2013 SPHOL205: Introduction to Backup & Restore in SharePoint 2013 Hands-On Lab Lab Manual This document is provided as-is. Information and views expressed in this document, including URL and other Internet
Not just Python, but the scientific stack as well: https://www.continuum.io/downloads Anaconda is better than other Python Distributions because of its package manager conda.* * Python s own package manager
Attix5 Pro Server Edition V7.0.3 User Manual for Linux and Unix operating systems Your guide to protecting data with Attix5 Pro Server Edition. Copyright notice and proprietary information All rights reserved.
cloud-kepler Documentation Release 1.2 Scott Fleming, Andrea Zonca, Jack Flowers, Peter McCullough, El July 31, 2014 Contents 1 System configuration 3 1.1 Python and Virtualenv setup.......................................
Big Data Paradigms in Python San Diego Data Science and R Users Group January 2014 Kevin Davenport! http://kldavenport.com firstname.lastname@example.org @KevinLDavenport Thank you to our sponsors: Setting up
Introduction to Python Sophia Bethany Coban Problem Solving By Computer March 26, 2014 Introduction to Python Python is a general-purpose, high-level programming language. It offers readable codes, and
MATLAB on EC2 Instructions Guide Contents Welcome to MATLAB on EC2...3 What You Need to Do...3 Requirements...3 1. MathWorks Account...4 1.1. Create a MathWorks Account...4 1.2. Associate License...4 2.
Qlik Sense Desktop Qlik Sense 2.0.6 Copyright 1993-2015 QlikTech International AB. All rights reserved. Copyright 1993-2015 QlikTech International AB. All rights reserved. Qlik, QlikTech, Qlik Sense, QlikView,
Cloud Storage Service User Guide (Web Interface, Android App) Table of Content System Requirements...4 1.1Web Browser... 4 1.2Mobile Apps... 4 Accessing Cloud Storage using a Web Browser... 4 The Web Home
A Sexy UI for Progress OpenEdge using JSDO and Kendo UI Ricardo Perdigao, Solutions Architect Edsel Garcia, Principal Software Engineer Jean Munro, Senior Systems Engineer Dan Mitchell, Principal Systems
Novell Linux Desktop NLD KDE QUICK START Getting Started Novell Linux Desktop (NLD) provides the tools that Linux* users require in their daily activities. It interfaces with the Linux system to access
PowerPanel Business Edition Installation Guide For Automatic Transfer Switch Rev. 5 2015/12/2 Table of Contents Introduction... 3 Hardware Installation... 3 Install PowerPanel Business Edition Software...
Query Console User Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Query Console User
The Einstein Depot server Have you ever needed a way to transfer large files to colleagues? Or allow a colleague to send large files to you? Do you need to transfer files that are too big to be sent as
CS-1004, Introduction to Programming for Non-Majors, C-Term 2015 Setting up Python 3.4 and numpy and matplotlib on your own Windows PC or laptop Hugh C. Lauer Adjunct Professor Worcester Polytechnic Institute
For Mac OS X Software version 4.1.7 Version 2.2 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by other means.
Lab 0: Preparing your laptop for the course OS X Four pieces of software are needed to complete this course: 1. VMD Views and analyses molecular models. 2. NAMD Performs molecular dynamics simulations.
UCSD March 9, 2009 What is Python? Python in a very high level (scripting) language which has gained widespread popularity in recent years. It is: What is Python? Python in a very high level (scripting)
AES Crypt User Guide Publication Date: 2013-12-26 Original Author: Gary C. Kessler (email@example.com) Revision History Date Contributor Changes 2012-01-17 Gary C. Kessler First version 2013-03-03 Doug
User Manual Version 0.9.9.p BETA III December 23rd, 2015 Disclaimer: This document is provided as-is. Information and views expressed in this document, including URL and other Internet website references,
IBM WebSphere Application Server Version 7.0 Centralized Installation Manager for IBM WebSphere Application Server Network Deployment Version 7.0 Note: Before using this information, be sure to read the
Introduction to Operating Systems It is important that you familiarize yourself with Windows and Linux in preparation for this course. The exercises in this book assume a basic knowledge of both of these
Generate Android App This paper describes how someone with no programming experience can generate an Android application in minutes without writing any code. The application, also called an APK file can
Using www.bcidaho.net Blue Cross supports a wide variety of clients and protocols for uploading and downloading files from our servers, including web-based tools, traditional clients and batch processing.
Athena Knowledge Base The Athena Visual Studio Knowledge Base contains a number of tips, suggestions and how to s that have been recommended by the users of the software. We will continue to enhance this
Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig 2 Contents 1 Introduction 6 2 Using System Monitor 7 2.1 Getting started........................................ 7 2.2 Process Table.........................................
ORIXCLOUD BACKUP CLIENT USER MANUAL LINUX 1. Product Information Product: Orixcloud Backup Client for Linux Version: 4.1.7 1.1 System Requirements Linux (RedHat, SuSE, Debian and Debian based systems such
SOS Online Backup USER MANUAL HOW TO INSTALL THE SOFTWARE 1. Download the software from the website: http://www.sosonlinebackup.com/download_the_software.htm 2. Click Run to install when promoted, or alternatively,
SyncTool for InterSystems Caché and Ensemble. Table of contents Introduction...4 Definitions...4 System requirements...4 Installation...5 How to use SyncTool...5 Configuration...5 Example for Group objects
Wakanda Studio Features Discover the many features in Wakanda Studio. The main features each have their own chapters and other features are documented elsewhere: Wakanda Server Administration Data Browser
Integrated Accounting System for Mac OS X and Windows Program version: 6.2 110111 2011 HansaWorld Ireland Limited, Dublin, Ireland Preface Books by HansaWorld is a powerful accounting system for the Mac
Sophos Mobile Control Startup guide Product version: 3.5 Document date: July 2013 Contents 1 About this guide...3 2 What are the key steps?...5 3 Log in as a super administrator...6 4 Activate Sophos Mobile
Rational Rational ClearQuest Version 7.0 Windows Using Project Tracker GI11-6377-00 Rational Rational ClearQuest Version 7.0 Windows Using Project Tracker GI11-6377-00 Before using this information, be
vtcommander vtcommander provides a local graphical user interface (GUI) to manage Hyper-V R2 server. It supports Hyper-V technology on full and core installations of Windows Server 2008 R2 as well as on
Infoview XIR3 User Guide 1 of 20 1. WHAT IS INFOVIEW?...3 2. LOGGING IN TO INFOVIEW...4 3. NAVIGATING THE INFOVIEW ENVIRONMENT...5 3.1. Home Page... 5 3.2. The Header Panel... 5 3.3. Workspace Panel...
Eucalyptus 3.4.2 User Console Guide 2014-02-23 Eucalyptus Systems Eucalyptus Contents 2 Contents User Console Overview...4 Install the Eucalyptus User Console...5 Install on Centos / RHEL 6.3...5 Configure
VERITAS NetBackup 6.0 Backup, Archive, and Restore Getting Started Guide for UNIX, Windows, and Linux N15278C September 2005 Disclaimer The information contained in this publication is subject to change
Eliminate Memory Errors and Improve Program Stability with Intel Parallel Studio XE Can running one simple tool make a difference? Yes, in many cases. You can find errors that cause complex, intermittent
Desktop, Web and Mobile Testing Tutorials * Windows and the Windows logo are trademarks of the Microsoft group of companies. 2 About the Tutorial With TestComplete, you can test applications of three major
SMART Sync 2011 Windows operating systems System administrator s guide Trademark notice SMART Sync, smarttech and the SMART logo are trademarks or registered trademarks of SMART Technologies ULC in the
Scheduling in SAS 9.3 SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc 2011. Scheduling in SAS 9.3. Cary, NC: SAS Institute Inc. Scheduling in SAS 9.3
Online Backup Client User Manual Linux 1. Product Information Product: Online Backup Client for Linux Version: 4.1.7 1.1 System Requirements Operating System Linux (RedHat, SuSE, Debian and Debian based
GP Reports Viewer Dynamics GP Reporting Made Easy GP REPORTS VIEWER USER GUIDE For Dynamics GP Version 2015 (Build 5) Dynamics GP Version 2013 (Build 14) Dynamics GP Version 2010 (Build 65) Last updated
An IBM Proof of Technology Hadoop Basics with InfoSphere BigInsights Part: 1 Exploring Hadoop Distributed File System An IBM Proof of Technology Catalog Number Copyright IBM Corporation, 2013 US Government
MultiValue Dashboard Installation Guide Introduction to MultiValue Dashboard MultiValue Dashboard is a dynamic Web-based development tool for the creation of desktop widgets utilizing your knowledge of
Synchronizer Installation Synchronizer Installation Synchronizer Installation This document provides instructions for installing Synchronizer. Synchronizer performs all the administrative tasks for XenClient
Version Control with Subversion and Xcode Author: Mark Szymczyk Last Update: June 21, 2006 This article shows you how to place your source code files under version control using Subversion and Xcode. By
INASP: Effective Network Management Workshops Linux Familiarization and Commands (Exercises) Based on the materials developed by NSRC for AfNOG 2013, and reused with thanks. Adapted for the INASP Network
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University Next 4 lessons: Outline Scientific programming: best practices Classical learning (Hoepfield network) Probabilistic learning
Setting Up ALERE with Client/Server Data TIW Technology, Inc. November 2014 ALERE is a registered trademark of TIW Technology, Inc. The following are registered trademarks or trademarks: FoxPro, SQL Server,
SQL databases An introduction AMP: Apache, mysql, PHP This installations installs the Apache webserver, the PHP scripting language, and the mysql database on your computer: Apache: runs in the background
0 1 2 3 4 5 6 Technology in Action Chapter 5 Using System Software: The Operating System, Utility Programs, and File Management Chapter Topics System software basics Types of operating systems What the
Autodesk Ecotect Analysis 2011 Network Administrator s Guide and Getting Started with Autodesk Ecotect Analysis This document describes how to install and activate Autodesk Ecotect Analysis 2011 software
Coveo Platform 7.0 Microsoft Dynamics CRM Connector Guide Notice The content in this document represents the current view of Coveo as of the date of publication. Because Coveo continually responds to changing
HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses
2 CONTENTS Module One: Getting Started... 6 Opening Outlook... 6 Setting Up Outlook for the First Time... 7 Understanding the Interface...12 Using Backstage View...14 Viewing Your Inbox...15 Closing Outlook...17
CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler 1) Operating systems a) Windows b) Unix and Linux c) Macintosh 2) Data manipulation tools a) Text Editors b) Spreadsheets
About This Tutorial 1Creating an End-to-End HL7 Over MLLP Application 1.1 About This Tutorial 1.1.1 Tutorial Requirements 1.1.2 Provided Files This tutorial takes you through the steps of creating an end-to-end
Site Configuration SETUP GUIDE Windows Hosts Single Workstation Installation May08 May 08 Copyright 2008 Wind River Systems, Inc. All rights reserved. No part of this publication may be reproduced or transmitted
Waspmote IDE User Guide Index Document Version: v4.1-01/2014 Libelium Comunicaciones Distribuidas S.L. INDEX 1. Introduction... 3 1.1. New features...3 1.2. Other notes...3 2. Installation... 4 2.1. Windows...4
OneStop Reporting 3.7 Installation Guide Updated: 2013-01-31 Copyright OneStop Reporting AS www.onestopreporting.com Table of Contents System Requirements... 1 Obtaining the Software... 2 Obtaining Your
Strategic Asset Tracking System User Guide Contents 1 Overview 2 Web Application 2.1 Logging In 2.2 Navigation 2.3 Assets 2.3.1 Favorites 2.3.3 Purchasing 2.3.4 User Fields 2.3.5 History 2.3.6 Import Data
VERITAS NetBackup 6.0 Encryption System Administrator s Guide for UNIX, Windows, and Linux N15274C September 2005 Disclaimer The information contained in this publication is subject to change without notice.
Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce