QGIS is a great software for the processing/analysis of spatial data, Python is a clear, powerful programming lenguaje; together they can enhance the spatial analysis to solve more complex or more dedicated problems in less time. PyQGIS is the Python environment inside QGIS with a set of QGIS libraries plus the Python tools with the potential of running other powerful libraries as Pandas, Numpy or Scikit-learn.
At the date of this post QGIS 3 was not officially launched. QGIS3 will run with Python 3 and interactive scripting as Jupyter notebook. With the Python 3 tools in QGIS, the capabilities and speed in geospatial data processing will be huge and QGIS will become a key instrument for the understanding of different phenomena in our society as climate change, money laundering and criminality.
This tutorial shows a mixed procedure with native QGIS tools and PyQGIS commands for the data representation, styling and plotting regarding spatio-temporal criteria with the TimeManager plugin. Data for this tutorial was downloaded from the National Hurricane Center's Tropical Cyclone Reports that contains information as six-hourly positions and intensities. You can access the whole hurricane database on this link:
You can download the input data from this link.