Complètement avec des pandas et des boutons de manchette

Pandas est une bibliothèque très populaire en Python pour l'analyse de données. Il a également son propre support de fonction de tracé. Cependant, les graphiques Pandas ne fournissent pas d'interactivité dans la visualisation. Heureusement, les graphiques interactifs et dynamiques de plotly peuvent être créés à l'aide dePandas dataframe objets.

Nous commençons par construire un Dataframe à partir de simples objets de liste.

data = [['Ravi',21,67],['Kiran',24,61],['Anita',18,46],['Smita',20,78],['Sunil',17,90]]
df = pd.DataFrame(data,columns = ['name','age','marks'],dtype = float)

Les colonnes dataframe sont utilisées comme valeurs de données pour x et ypropriétés des traces d'objets graphiques. Ici, nous allons générer une trace de barre en utilisantname et marks Colonnes.

trace = go.Bar(x = df.name, y = df.marks)
fig = go.Figure(data = [trace])
iplot(fig)

Un simple graphique à barres sera affiché dans le bloc-notes Jupyter comme ci-dessous -

Plotly est construit au-dessus de d3.js et est spécifiquement une bibliothèque de graphiques qui peut être utilisée directement avec Pandas dataframes en utilisant une autre bibliothèque nommée Cufflinks.

S'il n'est pas déjà disponible, installez le package de boutons de manchette en utilisant votre gestionnaire de packages préféré comme pip comme indiqué ci-dessous -

pip install cufflinks
or
conda install -c conda-forge cufflinks-py

Tout d'abord, importez des boutons de manchette avec d'autres bibliothèques telles que Pandas et numpy qui peut le configurer pour une utilisation hors ligne.

import cufflinks as cf
cf.go_offline()

Maintenant, vous pouvez utiliser directement Pandas dataframe pour afficher différents types de tracés sans avoir à utiliser des objets trace et figure de graph_objs module comme nous l'avons fait précédemment.

df.iplot(kind = 'bar', x = 'name', y = 'marks')

Le graphique à barres, très similaire au précédent sera affiché comme indiqué ci-dessous -

Cadres de données Pandas à partir de bases de données

Au lieu d'utiliser des listes Python pour construire des dataframe, elles peuvent être remplies par des données dans différents types de bases de données. Par exemple, les données d'un fichier CSV, d'une table de base de données SQLite ou d'une table de base de données mysql peuvent être extraites dans une trame de données Pandas, qui est éventuellement soumise à des graphiques en utilisantFigure object ou Cufflinks interface.

Pour récupérer les données de CSV file, on peut utiliser read_csv() fonction de la bibliothèque Pandas.

import pandas as pd
df = pd.read_csv('sample-data.csv')

Si les données sont disponibles dans SQLite database table, il peut être récupéré en utilisant SQLAlchemy library comme suit -

import pandas as pd
from sqlalchemy import create_engine
disk_engine = create_engine('sqlite:///mydb.db')
df = pd.read_sql_query('SELECT name,age,marks', disk_engine)

D'autre part, les données de MySQL database est récupéré dans une trame de données Pandas comme suit -

import pymysql
import pandas as pd
conn = pymysql.connect(host = "localhost", user = "root", passwd = "xxxx", db = "mydb")
cursor = conn.cursor()
cursor.execute('select name,age,marks')
rows = cursor.fetchall()
df = pd.DataFrame( [[ij for ij in i] for i in rows] )
df.rename(columns = {0: 'Name', 1: 'age', 2: 'marks'}, inplace = True)