[PYTHON] Essayez rapidement de visualiser votre ensemble de données avec des pandas

Jusqu'à présent, en tant que tracé utilisant pandas + matplotlib, [diverses données tracées avec pandas + matplotlib]( Nous avons introduit des éléments tels que http://qiita.com/ynakayama/items/68eff3cb146181329b48) et Méthode de visualisation des données par matplotlib (+ pandas).

Extrait et Process En regardant les données, le flux jusqu'à la visualisation est renouvelé. Organisons-nous et suivons.

Faire de l'ensemble de données un objet pandas

Tout d'abord, nous apporterons l'ensemble de données au monde des pandas, qui comporte deux flux principaux.

  1. Comment lire à partir d'un fichier externe tel qu'un fichier csv à l'aide de fonctions telles que pd.read_csv et pd.read_table
  2. Comment convertir des objets de tableau associatif (dictionnaire), etc. en DataFrame

Parmi ceux-ci, 1. est utilisé lorsqu'il existe déjà des données structurées qui peuvent être utilisées telles quelles dans un fichier externe. Par exemple, si vous avez un fichier appelé iris.csv, faites-en un objet pandas comme suit.

df = pd.read_csv("iris.csv")

Concernant 2., utilisez-le lorsque vous souhaitez gérer les données générées lors de l'extraction ou du traitement avec du code Python dans une certaine mesure avec des pandas. pandas a une documentation riche, vous pouvez donc vous y référer. La fonction from_dict convertit l'objet dictionnaire directement en un bloc de données. Si vous souhaitez spécifier explicitement l'index, il est pratique d'utiliser la fonction from_records.

df = pd.DataFrame.from_records(my_dic, index=my_array)

Obtenez la matrice de translocation

Dans les jeux de données, les axes X et Y sont souvent les perspectives opposées pour l'observateur. Même dans un tel cas, s'il s'agit d'une trame de données pandas, il est toujours facile d'utiliser la méthode .T [Transfer Matrix](http://ja.wikipedia.org/wiki/%E8%BB%A2%E7%BD%AE%E8% Vous pouvez obtenir A1% 8C% E5% 88% 97). C'est une utilisation très courante et il faut s'en souvenir.

dft = df.T

Dans manuel pandas, il semble que df = df.T soit souvent défini, mais je préfère la conversion non destructive comme ci-dessus. ..

Traçage interactif avec IPython

L'écriture de code qui utilise matplotlib nécessite également des essais et des erreurs. À ce stade, il est efficace de répéter les étapes de dessin et de vérification rapides de l'illustration du bloc de données sur IPython.

L'option ipython -i vous permet de spécifier un script Python comme argument, ce qui vous permet de faire fonctionner le shell interactif lors de l'exécution de ce script. C'est très pratique.

Par exemple, si vous avez une classe comme celle-ci:

class MyClass:
    def __init__(self, args):
        self.my_var = args[1]
        self.my_array = []
        self.my_dic = {}

    def my_method(self):
        ...

Si vous démarrez le shell en tant que ipython -i my_class.py, MyClass sera chargé et vous pourrez récupérer l'objet comme suit.

my_instance = MyClass()
arr = my_instance.my_array
dic = my_instance.my_dic

Si vous avez utilisé my_method pour stocker des données dans une variable d'instance telle que self.my_dic, vous pouvez récupérer les données de cette variable d'instance comme ci-dessus et tracer à partir d'ici pour une visualisation interactive.

Méthode de visualisation typique de la trame de données

En premier lieu, ce sont les données bidimensionnelles habituelles lorsqu'elles peuvent être converties en trame de données, on peut donc dire que le travail à effectuer est devenu apparent dans une certaine mesure s'il est expliqué jusqu'à présent.

Voici quelques méthodes de visualisation à essayer en premier.

Nous utiliserons le fameux Iris comme ensemble de données.

Nous avons déjà présenté les détails des chiffres à plusieurs reprises, veuillez donc vous référer aux Articles précédents.

Matrice de diagramme de dispersion

Le premier est la matrice de diagramme de dispersion standard.

plt.figure() #Préparez une toile

from pandas.tools.plotting import scatter_matrix
scatter_matrix(df) #Dessinez une matrice de diagramme de dispersion

plt.show() #Lors de l'affichage interactif des images
plt.savefig("1.png ") #Lors de la sortie vers un fichier image

hoge2.png

Ceci est un Suguremono qui vous donne une vue d'ensemble de la corrélation entre chaque colonne et chaque ligne. Si vous pouvez stabiliser votre esprit en regardant la procession du diagramme de dispersion, vous y serez habitué.

Graphique simple

Après cela, l'étape de préparation du canevas et l'étape de sortie de l'image seront omises.

df.plot(legend=True)

hoge3.png

Comme je l'ai mentionné à plusieurs reprises, les pandas utilisent par défaut True par défaut. Si vous ne pouvez pas bien voir la figure à cause de l'explication, vous pouvez définir legend = False.

Graphique à barres empilées

Si vous essayez de tracer les 10 premières trames de données, cela ressemblera à ceci.

df10 = df.head(10)
df10.plot(kind='barh', stacked=True, alpha=0.5, legend=True)

1.png

graphique à barres

Les graphiques à barres sont utiles si vous souhaitez affiner et visualiser dans un espace vectoriel unidimensionnel.

df['sepal width'].hist()

hoge.png

Graphique à aires

Ceci est utile pour suivre les modifications de plusieurs données au fil du temps.

df.plot(kind='area', legend=True)

3.png

Résumé

Que diriez-vous. Au fur et à mesure que vous vous y habituerez, vous utiliserez sans le savoir le shell interactif pour tracer face aux données. Vous pouvez voir à quel point IPython est productif, qui permet des essais et erreurs rapides, et pandas + matplotlib, qui peut être utilisé de manière transparente avec Python, en tant qu'outil productif.

Recommended Posts

Essayez rapidement de visualiser votre ensemble de données avec des pandas
Visualisez rapidement avec les pandas
Essayez de convertir en données ordonnées avec les pandas
Traitement des ensembles de données avec des pandas (1)
Convertir 202003 en 2020-03 avec les pandas
Traitement des ensembles de données avec des pandas (2)
Fusionner les ensembles de données avec les pandas
Essayez de défier le sol par récursif
Visualisons la pièce avec tarte aux râpes, partie 1
Essayez le fonctionnement de la base de données avec Python et visualisez avec d3
Un échantillon pour essayer rapidement les machines de factorisation avec fastFM
Essayez de profiler avec ONNX Runtime
Je veux faire ○○ avec les Pandas
Essayez de produire de l'audio avec M5 STACK
Essayez de reproduire un film couleur avec Python
Essayez de vous connecter à qiita avec Python
J'ai essayé de visualiser AutoEncoder avec TensorFlow
Essayez de prédire les fleurs de cerisier avec XG Boost
Premier YDK à essayer avec Cisco IOS-XE
Essayez de générer une image avec aliénation
Essayez de créer votre propre AWS-SDK avec bash
Essayez de résoudre le problème du fizzbuzz avec Keras
Essayez de résoudre le diagramme homme-machine avec Python
J'ai essayé de détecter rapidement un mouvement avec OpenCV
Essayez d'extraire le document Azure document DB avec pydocumentdb
Essayez de dessiner une courbe de vie avec python
[Python] Comment lire des fichiers Excel avec des pandas
Comment essayer l'algorithme des amis d'amis avec pyfof
Essayez de créer un code de "décryptage" en Python
Visualisez de manière interactive les données avec Treasure Data, Pandas et Jupyter.
Essayez de créer un groupe de dièdre avec Python
Essayez de rendre le client FTP le plus rapide avec Pythonista
Essayez de détecter les poissons avec python + OpenCV2.4 (inachevé)
Essayez de résoudre le livre des défis de programmation avec python3
J'ai essayé de déplacer Faster R-CNN rapidement avec pytorch
Faisons un outil de veille de commande avec python
Premiers pas avec les pandas: connaissances de base à retenir en premier
Essayez de créer un Checkbutton dynamiquement avec Tkinter en Python
Essayez de résoudre le problème d'affectation du médecin de formation avec Python
Essayez de prédire le taux de change (FX) avec un apprentissage automatique non approfondi
Essayez de créer une API RESTful avec MVC à l'aide de Flask 1.0.2
Comment accéder avec cache lors de la lecture_json avec pandas
Comment extraire des valeurs Null et des valeurs non Null avec des pandas
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Comment générer un CSV d'en-tête multiligne avec des pandas
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
Essayez d'obtenir le contenu de Word avec Golang
[Neo4J] ④ Essayez de gérer la structure du graphe avec Cypher
[Python] Un mémo pour écrire du CSV verticalement avec Pandas
Essayez de falsifier les demandes de l'iPhone avec Burp Suite
Convertissez les variables numériques en variables catégorielles avec les pandas en définissant un seuil
Comment extraire des données qui ne manquent pas de valeur nan avec des pandas
Essayez de gratter avec Python.
Comment utiliser Pandas 2
Échantillonnage bootstrap avec Pandas
Pandas apprenant avec la chimioinfomatique