Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
other:python:jyp_steps [2018/03/27 14:51] – Added lots of links jypeter | other:python:jyp_steps [2018/08/24 10:57] – [Extra numpy information] Added info about (masked) arrays jypeter |
---|
- [[https://docs.scipy.org/doc/numpy-dev/user/numpy-for-matlab-users.html|Numpy for Matlab users]] | - [[https://docs.scipy.org/doc/numpy-dev/user/numpy-for-matlab-users.html|Numpy for Matlab users]] |
- [[http://mathesaurus.sourceforge.net/matlab-numpy.html|NumPy for MATLAB users]] (nice, but does not seem to be maintained any more) | - [[http://mathesaurus.sourceforge.net/matlab-numpy.html|NumPy for MATLAB users]] (nice, but does not seem to be maintained any more) |
- read the [[https://docs.scipy.org/doc/numpy-dev/user/quickstart.html|Quickstart tutorial]] | - read the really nice [[https://docs.scipy.org/doc/numpy/user/quickstart.html|numpy Quickstart tutorial]] |
- have a quick look at the full documentation to know where things are | - have a quick look at the full documentation to know where things are |
- Numpy User Guide | - Numpy User Guide |
[20, 21, -1, -1, 24, 25, 26, 27, 28, 29]]) | [20, 21, -1, -1, 24, 25, 26, 27, 28, 29]]) |
</code></note> | </code></note> |
| |
| ==== Extra numpy information ==== |
| |
| * More information about array indexing: |
| * Examples: |
| * {{ :other:python:indirect_indexing_2.py.txt |}}: Take a vertical slice in a 3D zyx array, along a varying y 'path' |
| * [[https://docs.scipy.org/doc/numpy/user/basics.indexing.html|Indexing]] (//index arrays//, //boolean index arrays//, //np.newaxis//, //Ellipsis//, //variable numbers of indices//, ...) |
| * [[https://docs.scipy.org/doc/numpy/user/quickstart.html#fancy-indexing-and-index-tricks|Fancy indexing]] and [[https://docs.scipy.org/doc/numpy/user/quickstart.html#the-ix-function|the ix_() function]] |
| * [[https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html|Indexing (in the numpy reference manual)]] |
| * [[https://docs.scipy.org/doc/numpy/reference/routines.indexing.html#routines-indexing|Indexing routines]] |
| * More information about arrays: |
| * [[https://docs.scipy.org/doc/numpy/reference/routines.array-creation.html#routines-array-creation|Array creation routines]] |
| * [[https://docs.scipy.org/doc/numpy/reference/routines.array-manipulation.html|Array manipulation routines]] |
| * [[https://docs.scipy.org/doc/numpy/reference/maskedarray.html|Masked arrays]] |
| * [[https://docs.scipy.org/doc/numpy/reference/routines.ma.html|Masked array operations]] |
| * [[https://docs.scipy.org/doc/numpy/user/misc.html#ieee-754-floating-point-special-values|Dealing with special numerical values]] (//Nan//, //inf//) |
| * If you know that your data has missing values, it is cleaner and safer to handle them with [[https://docs.scipy.org/doc/numpy/reference/maskedarray.html|masked arrays]]! |
| * [[https://docs.scipy.org/doc/numpy/user/misc.html#how-numpy-handles-numerical-exceptions|Handling numerical exceptions]] |
| * [[https://docs.scipy.org/doc/numpy/reference/routines.err.html|Floating point error handling]] |
| |
===== cdms2 and netCDF4 ===== | ===== cdms2 and netCDF4 ===== |
| |
Help on //stack overflow//: [[https://stackoverflow.com/questions/tagged/cartopy|cartopy help]] | Help on //stack overflow//: [[https://stackoverflow.com/questions/tagged/cartopy|cartopy help]] |
| |
| ===== Maps and projections resources ===== |
| |
| ==== About projections ==== |
| |
| * [[https://egsc.usgs.gov/isb//pubs/MapProjections/projections.html|Map projections from USGS poster]] |
| * [[https://pubs.usgs.gov/pp/1395/report.pdf|Map projections - A working manual (USGS)]] |
| |
| ==== Libraries ==== |
| |
| * Projections in vcs |
| * [[http://matplotlib.org/basemap/users/mapsetup.html|Projections in basemap]] |
| * [[https://scitools.org.uk/cartopy/docs/latest/crs/projections.html|Projections in cartopy]] |
| |
| |
===== 3D resources ===== | ===== 3D resources ===== |
* [[https://stackoverflow.com/questions/26796997/how-to-get-vertical-z-axis-in-3d-surface-plot-of-matplotlib|How to get vertical Z axis in 3D surface plot of Matplotlib?]] | * [[https://stackoverflow.com/questions/26796997/how-to-get-vertical-z-axis-in-3d-surface-plot-of-matplotlib|How to get vertical Z axis in 3D surface plot of Matplotlib?]] |
| |
| ===== Data file formats ===== |
| |
| We list here some resources about non-NetCDF data formats that can be useful |
| |
| ==== json files ==== |
| |
| More and more applications use //json files// as configuration files or as a mean to use text files to exchange data (through serialization/deserialization ). |
| |
| //json// files look basically like a **list of (nested) python dictionaries** that would have been dumped to a text file |
| |
| * [[https://docs.python.org/2/library/json.html|json module]] documentation |
| * [[https://realpython.com/python-json/|Working With JSON Data in Python]] tutorial |
| * example script: ''/home/users/jypeter/CDAT/Progs/Devel/beaugendre/nc2json.py'' |
| * A compact (not easy to read...) //json// file can be pretty-printed with\\ ''cat file.json | python -m json.tool | less'' |
| |
| ==== LiPD files ==== |
| |
| Resources for //Linked PaleoData//: |
| * [[http://linked.earth/projects/lipd/|LiPD]] |
| * [[https://doi.org/10.5194/cp-12-1093-2016|Technical note: The Linked Paleo Data framework – |
| a common tongue for paleoclimatology]] @ GMD |
| * [[https://github.com/nickmckay/LiPD-utilities|LiPD-utilities]] @ github |
| |
| ==== BagIt files ==== |
| |
| //BagIt//, a set of hierarchical file layout conventions for storage and transfer of arbitrary digital content. |
| |
| * [[https://tools.ietf.org/html/draft-kunze-bagit-16|The BagIt File Packaging Format]] |
| * [[https://github.com/LibraryOfCongress/bagger|Bagger]] (BagIt GUI) |
| * [[https://github.com/LibraryOfCongress/bagit-python|bagit-python]] |
===== Pandas ===== | ===== Pandas ===== |
| |
| |
* The nice and convenient Python 2.7 Quick Reference: [[http://rgruet.free.fr/PQR27/PQR2.7_printing_a4.pdf|pdf]] - [[http://rgruet.free.fr/PQR27/PQR2.7.html|html]] | * The nice and convenient Python 2.7 Quick Reference: [[http://rgruet.free.fr/PQR27/PQR2.7_printing_a4.pdf|pdf]] - [[http://rgruet.free.fr/PQR27/PQR2.7.html|html]] |
| * A possibly more [[http://iysik.com/PQR2.7/PQR2.7.html|up-date-version]] |
| |
| * Python 3 [[https://perso.limsi.fr/pointal/python:abrege|Quick reference]] and [[https://perso.limsi.fr/pointal/python:memento|Cheat sheet]] |
| |
===== Some good coding tips ===== | ===== Some good coding tips ===== |