Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/dp_datascience.png)
- Πώς μπορούμε να συνδέσουμε Oracle Database με SQL Server με χρήση Oracle Gateway σε Linux - 1 Ιούλιος 2024
- Πώς αυτοματοποιούμε τη διαδικασία ελέγχου ακεραιότητας των βάσεων δεδομένων σε SQL Server χωρίς την χρήση maintenance plan - 10 Μάιος 2024
- Πώς μπορούμε να συνδέσουμε Oracle Database με SQL Server με χρήση Oracle Gateway σε Windows - 5 Απρίλιος 2024
Στο άρθρο αυτό με τη βοήθεια του jupyter notebook και της python θα φτιάξουμε ένα heatmap. Θα κάνουμε μια πλήρη ανάλυση με χρήση dataframe, polynomial regression scatter plot, bar plot.
Ας ξεκινήσουμε φορτώνοντας τις βιβλιοθήκες που θα χρειαστούμε:
import folium #είναι για την δημιουργία χάρτη import json import numpy as np #easy maths calculations import pandas as pd #για τα dataframe import matplotlib #για τα γραφήματα import matplotlib.pyplot as plt geo_Data = 'https://raw.githubusercontent.com/python-visualization/folium/master/examples/data/world-countries.json'
Τι είναι όμως το json που βάλαμε στην μεταβλητή geo_Data;
Είναι ουσιαστικά ένα αρχείο με συσχετισμένες τις χώρες με τις συντεταγμένες τους που χρειάζεται στο folium ώστε να φτιάξει τα περιθώρια του χάρτη.
Στο επόμενο βήμα θα φορτώσουμε ένα csv με δεδομένα που βρήκα για την Ευρώπη και μας κάνουν για το παράδειγμα:
dfun = pd.read_csv('https://gist.githubusercontent.com/str4t3gos/d089dd9bab5d075a4c39e48da301b374/raw/653feea057e6b7aa54ee772922e696e7f7d1ba61/country_un2.csv')
Αφού έχουμε φορτώσει σε μια μεταβλητή που έχει πάρει τις ιδιότητες του panda dataframe ως csv με την εντολή .head() μας δείξει τα δεδομένα μας:
dfun.head()
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/1-fol.png)
Μπορούμε να φιλτράρουμε τα δεδομένα του dataframe πχ να φέρουμε μόνο τα δεδομένα του 2017:
dfun17 = dfun[dfun['YEAR'] == 2017] dfun17.head()
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/2-fol.png)
Ας γεμίσουμε μια ακόμα μεταβλητή με τα δεδομένα του 2010 θα τα χρειαστούμε αργότερα:
dfun10 = dfun[dfun['YEAR'] == 2010] dfun10.head()
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/3-fol.png)
Ορίζουμε σε μια μεταβλητή τις ιδιότητες του χάρτη από το folium και του βάζουμε τα χρώματα μαζί με τα υπόλοιπα ορίσματα μέσω της ιδιότητας choropleth.
*Να υπενθυμίσω ότι legend είναι το κουτάκι που επεξηγεί τι είναι σημαίνουν τα διαφορετικά χρώματα που βλέπουμε. Επίσης με την ιδιότητα .save έχουμε την δυνατότητα να το σώσουμε ως html.
Δημιουργία χάρτη
sf_map= folium.Map([40., 10.], zoom_start=4) sf_map.choropleth( geo_data=geo_Data, name='choropleth', data=dfun17, columns=['COUNTRY','VALUE'], fill_color='BuPu', fill_opacity=0.7, line_opacity=0.5, key_on='feature.properties.name', legend_name='Unemployment Rate (%)' ) folium.LayerControl().add_to(sf_map) sf_map #sf_map.save('europe17.html')
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/4-fol.png)
Ας δούμε και την διαφορά με το 2010 που φτιάξαμε και το άλλο dataframe:
sf_map10= folium.Map([40., 10.], zoom_start=4) sf_map10.choropleth( geo_data=geo_Data, name='choropleth', data=dfun10, columns=['COUNTRY','VALUE'], fill_color='BuPu', fill_opacity=0.7, line_opacity=0.5, key_on='feature.properties.name', legend_name='Unemployment Rate (%)' ) folium.LayerControl().add_to(sf_map10) sf_map10
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/5-fol.png)
Δημιουργία γραφήματος polynomial regression
Ας φτιάξουμε ένα γράφημα polynomial regression με τα δεδομένα της κάθε χρονιάς της Ελλάδας.
Θα χρειαστούμε ένα καινούργιο dataframe φιλτραρισμένο μόνο με την Ελλάδα και να κάνουμε import την βιβλιοθήκη seaborn:
dgreece = dfun[dfun['COUNTRY'] == 'Greece'] dgreecefinal = dgreece[['YEAR','VALUE']] import seaborn as sns ax = sns.regplot(x="YEAR", y="VALUE", data=dgreecefinal, scatter_kws={"s": 80}, order=6, ci=None)
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/6-fol.png)
Δημιουργία γραφήματος bar plot
Ας πάμε στο τελευταίο παράδειγμα.
Θα φτιάξουμε ένα γράφημα barplot με τα δεδομένα της Ελλάδος από το 2007 και μετά:
dgreecefinal10years = dgreecefinal[dgreecefinal['YEAR'] >=2007] dgreecefinal10years.head()
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/7-fol.png)
Θα χρησιμοποιήσουμε την βιβλιοθήκη matplotlib ορίζοντας τις παραμέτρο της και με την ιδιότητα .show κάνει την προβολή:
%matplotlib inline ax=dgreecefinal10years.plot.bar('YEAR','VALUE') ax.spines['left'].set_visible(False) ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) for p in ax.patches: ax.annotate(np.round(p.get_height(),decimals=2), (p.get_x()+p.get_width()/2., p.get_height()), ha='center', va='center', xytext=(0, 10), textcoords='offset points', fontsize = 12 ) ax.legend(['Greece'],loc='upper left') plt.show()
![Πώς κάνουμε οπτική απεικόνιση δεδομένων σε χάρτη με χρήση Python](https://www.dataplatform.gr/wp-content/uploads/2020/06/8-fol.png)