This course will help you to expertise the usage of Python in Data Science world.
Carter your Python Knowledge so that it can be utilized to get the Insights of Data using Methodologies and Techniques of Data Science...
Objective:
Understand the concepts of Data science and Python
You will be able to use Python in Discovering Data.
You will have an idea of Statistical and Analytical methods to deal with huge data sets.
You will gain an expertise on Regular Expressions, looping functions and concepts of Object Oriented Programming.
You will be able to create business algorithms and data models using Python and it's techniques.
Work on Real-life Projects will help you to get a practical experience of real scenarios of IT Industry.
Start learning Python for Data Science from basics to advance levels here...
https://goo.gl/070wXw
Hi,
Python 3 becomes more and more popular and is close to a dangerous point
where it can become popular that Python 2. The PSF decided that it's
time to elaborate a new secret plan to ensure that Python users suffer
again with a new major release breaking all their legacy code.
The PSF is happy to announce that the new Python release will be
Python 8!
Why the version 8? It's just to be greater than Perl 6 and PHP 7, but
it's also a mnemonic for PEP 8. By the way, each minor release will now
multiply the version by 2. With Python 8 released in 2016 and one
release every two years, we will beat Firefox 44 in 2022 (Python 64) and
Windows 2003 in 2032 (Python 2048).
A major release requires a major change to justify a version bump: the
new killer feature is that it's no longer possible to import a module
which does not respect the PEP 8. It ensures that all your code is pure.
Example:
$ python8 -c 'import keyword'
Lib/keyword.py:16:1: E122 continuation line missing indentation or outdented
Lib/keyword.py:16:1: E265 block comment should start with '# '
Lib/keyword.py:50:1: E122 continuation line missing indentation or outdented
(...)
ImportError: no pep8, no glory
Good news: since *no* module of the current standard library of Python 3
respect the PEP 8, the standard library will be simplified to one
unique module, which is new in Python 8: pep8. The standard library will
move to the Python Cheeseshop (PyPI), to reply to an old and popular
request.
DON'T PANIC! You are still able to import your legacy code into
Python 8, you just have to rename all your modules to add a "_noqa" suffix
to the filename. For example, rename utils.py to utils_noqa.py. A side
effect is that you have to update all imports. For example, replace
"import django" with "import django_noqa". After a study of the PSF,
it's a best option to split again the Python community and make sure
that all users are angry.
The plan is that in 10 years, at least 50% of the 77,000 packages on the
Python cheeseshop will be updated to get the "_noqa" tag. After 2020,
the PSF will start to sponsor trolls to harass users of the legacy
Python 3 to force them to migrate to Python 8.
Python 8 is a work-in-progress (it's still an alpha version), the
standard library was not removed yet. Hopefully, trying to import any
module of the standard library fails.
Don't hesitate to propose more ideas to make Python 8 more incompatible
with Python 3!
Note: The change is already effective in the default branch of Python:
https://hg.python.org/cpython/rev/9aedec2dbc01
Have fun,
Victor
==========================
Announcing bcolz 1.0.0 RC2
==========================
What's new
==========
Yeah, 1.0.0 is finally here. We are not introducing any exciting new
feature (just some optimizations and bug fixes), but bcolz is already 6
years old and it implements most of the capabilities that it was
designed for, so I decided to release a 1.0.0 meaning that the format is
declared stable and that people can be assured that future bcolz
releases will be able to read bcolz 1.0 data files (and probably much
earlier ones too) for a long while. Such a format is fully described
at:
https://github.com/Blosc/bcolz/blob/master/DISK_FORMAT_v1.rst
Also, a 1.0.0 release means that bcolz 1.x series will be based on
C-Blosc 1.x series (https://github.com/Blosc/c-blosc). After C-Blosc
2.x (https://github.com/Blosc/c-blosc2) would be out, a new bcolz 2.x is
expected taking advantage of shiny new features of C-Blosc2 (more
compressors, more filters, native variable length support and the
concept of super-chunks), which should be very beneficial for next bcolz
generation.
Important: this is a Release Candidate, so please test it as much as you
can. If no issues would appear in a week or so, I will proceed to tag
and release 1.0.0 final. Enjoy!
For a more detailed change log, see:
https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst
What it is
==========
*bcolz* provides columnar and compressed data containers that can live
either on-disk or in-memory. Column storage allows for efficiently
querying tables with a large number of columns. It also allows for
cheap addition and removal of column. In addition, bcolz objects are
compressed by default for reducing memory/disk I/O needs. The
compression process is carried out internally by Blosc, an
extremely fast meta-compressor that is optimized for binary data. Lastly,
high-performance iterators (like ``iter()``, ``where()``) for querying
the objects are provided.
bcolz can use numexpr internally so as to accelerate many vector and
query operations (although it can use pure NumPy for doing so too).
numexpr optimizes the memory usage and use several cores for doing the
computations, so it is blazing fast. Moreover, since the carray/ctable
containers can be disk-based, and it is possible to use them for
seamlessly performing out-of-memory computations.
bcolz has minimal dependencies (NumPy), comes with an exhaustive test
suite and fully supports both 32-bit and 64-bit platforms. Also, it is
typically tested on both UNIX and Windows operating systems.
Together, bcolz and the Blosc compressor, are finally fulfilling the
promise of accelerating memory I/O, at least for some real scenarios:
http://nbviewer.ipython.org/github/Blosc/movielens-bench/blob/master/queryi…
Other users of bcolz are Visualfabriq (http://www.visualfabriq.com/) the
Blaze project (http://blaze.pydata.org/), Quantopian
(https://www.quantopian.com/) and Scikit-Allel
(https://github.com/cggh/scikit-allel) which you can read more about by
pointing your browser at the links below.
* Visualfabriq:
* *bquery*, A query and aggregation framework for Bcolz:
* https://github.com/visualfabriq/bquery
* Blaze:
* Notebooks showing Blaze + Pandas + BColz interaction:
*
http://nbviewer.ipython.org/url/blaze.pydata.org/notebooks/timings-csv.ipynb
*
http://nbviewer.ipython.org/url/blaze.pydata.org/notebooks/timings-bcolz.ip…
* Quantopian:
* Using compressed data containers for faster backtesting at scale:
* https://quantopian.github.io/talks/NeedForSpeed/slides.html
* Scikit-Allel
* Provides an alternative backend to work with compressed arrays
* https://scikit-allel.readthedocs.org/en/latest/model/bcolz.html
Installing
==========
bcolz is in the PyPI repository, so installing it is easy::
$ pip install -U bcolz
Resources
=========
Visit the main bcolz site repository at:
http://github.com/Blosc/bcolz
Manual:
http://bcolz.blosc.org
Home of Blosc compressor:
http://blosc.org
User's mail list:
bcolz(a)googlegroups.com
http://groups.google.com/group/bcolz
License is the new BSD:
https://github.com/Blosc/bcolz/blob/master/LICENSES/BCOLZ.txt
Release notes can be found in the Git repository:
https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst
----
**Enjoy data!**
--
Francesc Alted
=============================
Announcing python-blosc 1.3.0
=============================
What is new?
============
There is support for newest C-Blosc. As such, C-Blosc 1.8.0 is being
distributed internally. Support for the new `BITSHUFFLE` filter,
allowing for more compression ratios in many cases, at the expense of
some slowdown. For details see:
http://python-blosc.blosc.org/tutorial.html#using-different-filters
You can also run some benchmarks including different codecs and filters:
https://github.com/Blosc/python-blosc/blob/master/bench/compress_ptr.py
For more info, you can have a look at the release notes in:
https://github.com/Blosc/python-blosc/blob/master/RELEASE_NOTES.rst
More docs and examples are available in the documentation site:
http://python-blosc.blosc.org
What is it?
===========
Blosc (http://www.blosc.org) is a high performance compressor
optimized for binary data. It has been designed to transmit data to
the processor cache faster than the traditional, non-compressed,
direct memory fetch approach via a memcpy() OS call.
Blosc is the first compressor that is meant not only to reduce the size
of large datasets on-disk or in-memory, but also to accelerate object
manipulations that are memory-bound
(http://www.blosc.org/docs/StarvingCPUs.pdf). See
http://www.blosc.org/synthetic-benchmarks.html for some benchmarks on
how much speed it can achieve in some datasets.
Blosc works well for compressing numerical arrays that contains data
with relatively low entropy, like sparse data, time series, grids with
regular-spaced values, etc.
python-blosc (http://python-blosc.blosc.org/) is the Python wrapper for
the Blosc compression library.
There is also a handy tool built on Blosc called Bloscpack
(https://github.com/Blosc/bloscpack). It features a commmand line
interface that allows you to compress large binary datafiles on-disk.
It also comes with a Python API that has built-in support for
serializing and deserializing Numpy arrays both on-disk and in-memory at
speeds that are competitive with regular Pickle/cPickle machinery.
Installing
==========
python-blosc is in PyPI repository, so installing it is easy:
$ pip install -U blosc # yes, you must omit the 'python-' prefix
Download sources
================
The sources are managed through github services at:
http://github.com/Blosc/python-blosc
Documentation
=============
There is Sphinx-based documentation site at:
http://python-blosc.blosc.org/
Mailing list
============
There is an official mailing list for Blosc at:
blosc(a)googlegroups.com
http://groups.google.es/group/blosc
Licenses
========
Both Blosc and its Python wrapper are distributed using the MIT license.
See:
https://github.com/Blosc/python-blosc/blob/master/LICENSES
for more details.
----
**Enjoy data!**
--
Francesc Alted
py2cs.py 0.1 is now available on github
<https://github.com/edreamleo/python-to-coffeescript>.
This script makes a coffeescript <http://coffeescript.org/> (.coffee) file
in the output directory for each source file listed on the command line
(wildcard file names are supported). This script never creates directories
automatically, nor does it overwrite .coffee files unless the --overwrite
command-line option is in effect.
This script merely converts python syntax to the roughly equivalent
coffeescript syntax. It knows nothing about coffeescript semantics. It is
intended *only* to help start creating coffeescript code from an existing
python code base.
This script already does much of the grunt work of converting python to
coffeescript. The script processes itself without error, but coffeescript
itself complains about some results
.
Edward K. Ream
March 31, 2016
------------------------------------------------------------------------------------------
Edward K. Ream: edreamleo(a)gmail.com Leo: http://leoeditor.com/
------------------------------------------------------------------------------------------
m
ake_stub_files.py
0.1 is now available here <https://github.com/edreamleo/make-stub-files>.
This script eliminates much of the drudgery of creating python stub (.pyi)
<https://www.python.org/dev/peps/pep-0484/#stub-files> from python source
files. This script should encourage more people to use mypy. Stub files can
be used by people who use Python 2.x code bases.
This script makes a stub (.pyi) file in the output directory for each
source file listed on the command line (wildcard file names are supported).
This script never creates directories automatically, nor does it overwrite
stub files unless the --overwrite command-line option is in effect.
GvR says,
We actually do have a stub generator
<https://github.com/JukkaL/mypy/blob/master/mypy/stubgen.py> as part of
mypy now (it has a few options) but yours has the advantage of providing a
way to tune the generated signatures...This allows for a nice iterative way
of developing stubs.
The script does no type inference. Instead, the user supplies *patterns* in
a configuration file. The script matches these patterns to:
1.
The names of arguments in functions and methods and
2.
The text of *return expressions*. Return expressions are the actual text
of whatever follows the "return" keyword. The script removes all comments
in return expressions and converts all strings to "str". This preprocessing
greatly simplifies pattern matching.
For example, given the method:
def foo(self, i, s):
if i:
return "abc" # a comment
else:
return s
and the patterns:
i: int
s: str
the script produces the stub:
def foo(i: int, s: str) --> str: ...
Edward K. Ream
March 31, 2016
------------------------------------------------------------------------------------------
Edward K. Ream: edreamleo(a)gmail.com Leo: http://leoeditor.com/
------------------------------------------------------------------------------------------
=========================
Announcing Numexpr 2.5.1
=========================
Numexpr is a fast numerical expression evaluator for NumPy. With it,
expressions that operate on arrays (like "3*a+4*b") are accelerated
and use less memory than doing the same calculation in Python.
It wears multi-threaded capabilities, as well as support for Intel's
MKL (Math Kernel Library), which allows an extremely fast evaluation
of transcendental functions (sin, cos, tan, exp, log...) while
squeezing the last drop of performance out of your multi-core
processors. Look here for a some benchmarks of numexpr using MKL:
https://github.com/pydata/numexpr/wiki/NumexprMKL
Its only dependency is NumPy (MKL is optional), so it works well as an
easy-to-deploy, easy-to-use, computational engine for projects that
don't want to adopt other solutions requiring more heavy dependencies.
What's new
==========
Fixed a critical bug that caused wrong evaluations of log10() and
conj(). These produced wrong results when numexpr was compiled with
Intel's MKL (which is a popular build since Anaconda ships it by
default) and non-contiguous data. This is considered a *critical* bug
and upgrading is highly recommended. Thanks to Arne de Laat and Tom
Kooij for reporting and providing a test unit.
In case you want to know more in detail what has changed in this
version, see:
https://github.com/pydata/numexpr/blob/master/RELEASE_NOTES.rst
Where I can find Numexpr?
=========================
The project is hosted at GitHub in:
https://github.com/pydata/numexpr
You can get the packages from PyPI as well (but not for RC releases):
http://pypi.python.org/pypi/numexpr
Share your experience
=====================
Let us know of any bugs, suggestions, gripes, kudos, etc. you may
have.
Enjoy data!
--
Francesc Alted
Announcing a project hosted on GitHub called nose2pytest (
https://github.com/schollii/nose2pytest). This project helps migrate a test
suite that was written for Nose to work with pure pytest. It converts
nose.tools.assert_ functions into raw assert statements so you can better
(IMO) leverage pytest assertion introspection. It may even decrease test
suite dependencies by 1; after nose2test has been run on a test suite, it
is no longer needed.
The nose2pytest script has already successfully converted approximately
5000 assertions, so this is v1.0. However, there are many ways to harness
Nose functionality so I'm really curious to see if nose2test can be useful
to others.
I'm sure there is lots of room for improvement. Any feedback or
contributions would be much appreciated.
Regards,
Oliver
I am pleased to announce the first public beta release of Elevation, a tool
for easy access to global terrain digital elevation models, SRTM 30m DEM
and SRTM 90m DEM:
http://elevation.bopen.eu/en/stable/quickstart.html
Development effort is directed to fixing bugs and writing better
documentation before the 1.0 release. Testing and contributions are highly
welcomed and appreciated. Every little help counts, so do not hesitate!
https://github.com/bopen/elevation
User questions are best directed to
https://stackoverflow.com/search?q=python+elevation.
The project is free and open source software distributed under the terms of
the Apache License, Version 2.0. and the development has been sponsored by
my employer B-Open Solutions http://bopen.eu.
Thanks,
Alessandro
--
Alessandro Amici <a.amici(a)bopen.eu>
CTO at B-Open Solutions - http://www.bopen.eu/
Viale Palmiro Togliatti, 1639 - 00155 Roma - tel: +39 06 8370 8269
PyConZA 2016 will take place 6th & 7th October at The River Club, in
Observatory, Cape Town, South Africa. There will be two days of talks,
and we will hold sprints on the 8th & 9th of October.
We are currently accepting proposals for talks. If you would like to
give a presentation, please register at https://za.pycon.org/ and
submit your proposal, following the instructions at
https://za.pycon.org/talks/submit-talk . We hope to notify accepted
presenters by no later than the 9th of September 2016.
The presentation slots will be 30 minutes long, with an additional 10
minutes for discussion at the end. Shared sessions are also possible.
The presentations will be in English.
PyConZA offers a mentorship program for inexperienced speakers. If you
would like assistance preparing your submission, email
team(a)za.pycon.org with a rough draft of your talk proposal and we'll
find a suitable experienced speaker to act as a mentor.
In addition to talks, we are also looking for proposals for tutorials,
demos, sprints and open spaces.
Tutorials are intended to be more in-depth introductions to a topic
with a limited number of attendees. Tutorial sessions can be up to 90
minutes long.
Demos are cool things for attendees to see and interact with.
Open spaces are open discussion forums where communities with a common
interest gather to present views, ask questions and meet people
interested in the topic.
Sprints are coding efforts and hack days that happen after the conference.
There's no need to register a sprint or open space topic upfront, but
doing so allows us to advertise them during the conference.
--
Neil Muller
On behalf of the PyConZA organising committee