Monday, December 1, 2014

Nice book on python, numpy, ipython etc...

A very up-to-date (august 2014) electronic book on python named "Introduction to Python for Econometrics, Statistics and Data Analysis" from Kevin Sheppard is available here:
https://www.kevinsheppard.com/images/0/09/Python_introduction.pdf
It's mainly on econometric, but most of the tools described there are also useful for astronomers.

Tuesday, November 11, 2014

Sending requests to MySQL and receiving the result from python, using PyMySQL

 Modern astrophysics is using every day more big databases. One of the mostly used interface to databases is MySQl (or its recent free fork MariaDB). I present in this lecture a python library to deal with MySQL databases: PyMySQL. In the lecture the examples are using access to 3MdB (https://sites.google.com/site/mexicanmillionmodels/), which requires a password. You can ask for it to me, or adapt the example to connect to other databases.
The lecture is here:
https://github.com/Morisset/Python-lectures-Notebooks/blob/master/Notebooks/Using_PyMySQL.ipynb


An introduction to MySQL can be found here: https://github.com/Morisset/Python-lectures-Notebooks/blob/master/MySQL.pdf

Wednesday, October 8, 2014

Optimization, calling Fortran

2014 Python Lecture. Part IX


In this latest lecture of this series, I'll present some tools to optimize your code by CPU and memory profiling. It also contains some tips on using the python debugger.
The notebook is there:
https://github.com/Morisset/Python-lectures-Notebooks/blob/master/Notebooks/Optimization.ipynb


I also give some indications on how one can call Fortran routines from within python, to accelerate the execution of some part the the code.
Here are small examples: https://github.com/Morisset/Python-lectures-Notebooks/blob/master/Notebooks/Calling%20Fortran.ipynb

Wednesday, October 1, 2014

Object Oriented Programing. Objects, classes, etc...

2014 Python Lecture. Part VIII

In this lecture I'll introduce the basic (and some not that basic) concepts of Object Oriented Programing. I'll use an example to show how to:
  • use functions to do simple jobs
  • but use objects when things start to be more complex
  • define classes, objects, attributes, methods, etc...
  • use *args and **kwargs in functions calls
  • use the class variables
  • add functionalities to classes and objects
  • use class inheritance
  • use attributes properties
The notebook is here:
https://github.com/Morisset/Python-lectures-Notebooks/blob/master/Notebooks/OOP.ipynb

Thursday, September 25, 2014

The astropy library

2014 Python Lecture. Part VII

The Astropy Project is a community effort to develop a single core package for Astronomy in Python and foster interoperability between Python astronomy packages. More informations here: http://www.astropy.org/

In this lecture we will see some of the facilities of the astorpy library, including:

  • Constants and Units
  • Data Table (a very useful one!)
  • Time and Dates
  • Etc...

The lecture is here:

https://github.com/Morisset/Python-lectures-Notebooks/blob/master/Notebooks/Using_astropy.ipynb

Thursday, September 18, 2014

Useful libraries

2014 Python Lecture. Part VI

This lecture will give some insights to the most useful python libraries. It is NOT exhaustive, you have to read the corresponding manual pages to find the best use you can have of them. The list of all python-included libraries is here: https://docs.python.org/2/library/

I mention in this lecture:

  • time and datetime
  • timeit
  • os
  • sys
  • subprocess
  • glob
  • re
  • urllib2
The lecture is here:

Wednesday, September 17, 2014

Introduction to Scipy

2014 Python Lecture. Part V

SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering. In particular, these are some of the core packages: Numpy, Scipy library, Matplotlib, ipython, Simpy, and Panda.


In this lecture, I will show exemples covering:
  • Some useful methods
    • nanmean
    • constants
  • Integrations
  • Interpolations
  • 2D-interpolations
  • data fitting
  • multivariate estimation
The lecture is here:

https://github.com/Morisset/Python-lectures-Notebooks/blob/master/Notebooks/intro_Scipy.ipynb