[PYTHON] Dessinez sur Jupyter en utilisant la fonction de tracé des pandas

environnement

OS X El Capitan 10.11.6 python: 2.7.11 pandas: 0.18.0 matplotlib: 1.5.1 numpy: 1.10.4 IPython: 4.1.2

en premier

Dessin recommandé avec Python 10 Il existe différentes méthodes de dessin en Python, et il est basique d'utiliser une bibliothèque appelée matplotlib. Cependant, il y a un rappeur appelé seaborn qui facilite le dessin à la mode car il est un peu démodé. Si vous n'êtes pas satisfait de cela, peut-être que Bokeh est un bon choix. Si vous utilisez ggplot dans R, vous le connaissez peut-être.

Cependant, dans tous les cas, pandas, qui est nécessaire pour le formatage des données, a également une fonction de tracé en tant que wrapper pour matplotlib, donc je vais l'utiliser. J'ai visité les sites suivants et étudié, mais j'étais un peu confus car il y avait une légère différence dans la notation, probablement à cause de la différence de version. http://sinhrks.hatenablog.com/entry/2015/11/15/222543 http://qiita.com/hik0107/items/de5785f680096df93efa http://qiita.com/y__sama/items/9676f148a66c16d8f47c http://qiita.com/TomokIshii/items/d786d25c69f20a0fc3c8

Le point le plus important pour moi était;

DataFrame.plot() Est le dessin le plus simple, mais s'il s'agit d'un diagramme de dispersion DataFrame.plot(kind='scatter') Ou DataFrame.plot.scatter() Je me demandais lequel était le meilleur (correct), mais pandas original "Visualization" J'étais convaincu qu'il y avait la description suivante dans "Other Plots" de.

You can also create these other plots using the methods DataFrame.plot.kind instead of providing the kind keyword argument. This makes it easier to discover plot methods and the specific arguments they use:

Donc les deux sont corrects DataFrame.plot.scatter() Le fait était que ce serait plus facile à comprendre.

Vous trouverez ci-dessous un bref résumé du déroulement du dessin et des points que j'ai remarqués. Comme vous pouvez le voir en lisant matplotlib Honke et pandas Honke.

Flux de dessin

Charger la bibliothèque

import numpy as np import pandas as pd import matplotlib.pyplot as plt

Commande pour dessiner un diagramme dans le notebook Jupyter

%matplotlib inline

Capture de données

Spécifier le chemin du fichier file_path="/Users/username/Documents/file_name.csv"

Fichier séparé par virgule

data_frame=pd.read_csv(file_path)

Fichier délimité par des tabulations

data_frame=pd.read_table(file_path)

Fichiers autres que ceux ci-dessus

Lorsque data_frame = pd.read_table (file_path, sep = '.') # "." sep = '' # Séparateur

Autres réglages header = '' # Nombre de lignes à sauter

Confirmation des données lues

data_frame.head () #Vérifiez les premières lignes de la trame de données data_frame.tail () #Vérifiez les dernières lignes de la trame de données

Extraction de données

Extraction de colonne

data_frame ['column_name'] # Extrait comme série data_frame.column_name # Identique à ci-dessus data_frame [['column_name1', 'column_name2']] # 2 extraction de colonne

Extraction de lignes

data_frame.ix ['index_name'] #ix est un champ de référence d'index data_frame [: n] # Extraire toutes les lignes jusqu'à n data_frame [data_frame ['column_name']> x] #column_name Extraire les lignes avec des valeurs de colonne supérieures à x data_frame.query ('nom_colonne == x & nom_colonne == y') # Si vous voulez en conditionner deux ou plus, c'est ça. data_frame.query ('nom_colonne == x | nom_colonne == y') Pour #ou

terrain

Diviser l'écran (2X2, etc.) et spécifier les marges

fig, axes = plt.subplots(2,2,figsize=(19,19)) plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=0.1, hspace=0.1)

Nuage de points

Lorsque vous dessinez plusieurs feuilles dans la phrase for. «I» est le nombre de compteurs. data_frame.plot(x='column1',y='column2',xlim=(x1,x2),linestyle='',marker='.',ax=axes.flatten()[i],color='k',title=title_list[i])

data_frame.plot.scatter(x='column1',y='column2',xlim=(x1,x2),ax=axes.flatten()[i],color='k',s=15,title=title_list[i])

Dans les deux cas, c'est bien, mais (probablement) plot.scatter () est censé avoir une correspondance un à un, donc il n'y a pas de légende. Vous pouvez omettre «x =» si vous souhaitez utiliser un index sur l'axe des x dans le cas de «plot ()». La norme étant un graphique à lignes brisées, elle est transformée en diagramme de dispersion en éliminant le style de ligne et en spécifiant un marqueur. Même s'il existe une colonne contenant NaN, elle sera ignorée et tracée, mais si vous tracez à partir de deux colonnes en même temps, une erreur se produira. Il est nécessaire de changer la zone de dessin à chaque fois.

Contenu de .plot ()

xlim = (x1, x2) #x plage ylim = (y1, y2) #y plage color = 'k' # spécification de la couleur k noir, r rouge, b bleu, g vert, c cyan, m magenta, w blanc, y jaune linestyle = '-' # ls. -: solide, -: pointillé, '': rien largeur de ligne = 1 # lw. marker='.' #.:point, o:circle, v:triangle,s:square,+:plus, '':nothing markersize = 12 # ms. markeredgecolor = '' # méc. markeredgewidth = 1 # mew. markerfacecolor = '' # mfc. label = 'nom' # légende ax = axes.flatten () [i] #Draw au i-ème endroit yerr = '' # barre d'erreur de l'axe y

Contenu de .plot.scatter ()

s = 20 # taille du marqueur

Commande pour mettre une légende

axes.flatten( )[i].legend(loc='best') # 'upper right','center left','lower center','center'

Autres notes

http://yagays.github.io/blog/2014/08/15/ipython-notebook-matplotlib-inline/ http://qiita.com/HirofumiYashima/items/51d8dac9a784de356c5b import numpy as np import matplotlib.pyplot as plt Devrait lire respectivement numpy et pyplot. pylab peut porter un nom en raison d'une importation approximative.

Des sites souvent pris en charge

pandas en général. L'un des membres développeurs est bien organisé. http://sinhrks.hatenablog.com/entry/2015/04/28/235430

wiki de matplotlib http://seesaawiki.jp/met-python/d/matplotlib

Pour aller et venir entre python standard, numpy, pandas http://qiita.com/richi40/items/6b3af6f4b00d62dbe8e1

le terme

--Paquet Un répertoire contenant les fichiers du module. NumPy, pandas, etc.

pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language. It is already well on its way toward this goal.

The Jupyter Notebook is a web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more.

Serpentin

À partir des différents graphiques (Other Plots) dans pandas Honke Visualization

In addition to these kind s, there are the DataFrame.hist(), and DataFrame.boxplot() methods, which use a separate interface.

Outre l'utilisation de kind, DataFrame.hist () et DataFrame.boxplot () existent en tant qu'interfaces séparées. Par conséquent, comment écrire un histogramme DataFrame.plot(kind='hist') DataFrame.plot.hist() DataFrame.hist() Il existe trois types.

Recommended Posts

Dessinez sur Jupyter en utilisant la fonction de tracé des pandas
Afficher le graphique de tensorBoard sur Jupyter
Essayez de tracer la concentration environnementale des composés organiques du fluor sur une carte à l'aide de données ouvertes
L'histoire du démarrage du notebook Jupyter de python2.x à l'aide de docker (écrasé samedi et dimanche)
Changer le thème de Jupyter
Le pouvoir des pandas: Python
Reformatez l'axe des temps du graphique de la série chronologique des pandas avec matplotlib
Rendre la fonction de dessin de polices japonaises dans OpenCV en général
Facile sur Mac! Tracé de la réponse d'étape unitaire à l'aide de Python
Comprendre la fonction de convolution en utilisant le traitement d'image comme exemple
J'ai essayé d'obtenir l'index de la liste en utilisant la fonction énumérer
[Python] J'ai écrit la route du typhon sur la carte en utilisant le folium
Précautions lors de la superposition de la fonction de densité de probabilité et de l'histogramme dans matplotlib
Précautions lors de l'utilisation de la fonction urllib.parse.quote
J'ai écrit le fonctionnement de base de Pandas dans Jupyter Lab (partie 1)
Comment utiliser Jupyter sur le frontal de Spacon ITO
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 1)
Cas utilisant un tracé de pandas, cas utilisant un tracé matplotlib (pur)
Remarques sur l'utilisation de matplotlib sur le serveur
J'ai écrit le fonctionnement de base de Pandas dans Jupyter Lab (partie 2)
100 traitement du langage knock-93 (en utilisant des pandas): calcul du taux de précision de la tâche d'analogie
Représentez graphiquement l'évolution du nombre d'apparitions de mots clés par mois à l'aide de pandas
Tracez l'indice boursier moyen Nikkei avec des pandas
Étudiez l'effet des valeurs aberrantes sur la corrélation
Un mémorandum sur l'utilisation de la fonction d'entrée de Python
[Python3] Réécrire l'objet code de la fonction
Publier le sujet de Gmail sur Twitter
Créer un environnement d'exécution pour Jupyter Lab
Cloner le référentiel github sur le notebook Jupyter
Vérification du GPU du PC sur le notebook Jupyter
A propos des arguments de la fonction setup de PyCaret
Afficher l'histogramme / diagramme de dispersion sur Jupyter Notebook
Pandas du débutant, par le débutant, pour le débutant [Python]
Étude sur Tokyo Rent en utilisant Python (3-1 sur 3)
Changer l'ordre de PostgreSQL dans Heroku
[Linux] Différence d'informations temporelles en fonction de l'ID d'horloge de la fonction clock_gettime ()
[Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy
Définir la limite supérieure du nombre de répétitions de fonctions récursives en Python
Étiquetez chaque point sur le diagramme de dispersion Seaborn
Raccourcir le temps d'analyse d'Openpose à l'aide du son
Estimation de l'effet des mesures à l'aide des scores de propension
Environnement d'exécution sur le Web par "Project Jupyter"
Vérifiez le type de variable que vous utilisez
Conseils de dessin avec matplotlib côté serveur
Battre la fonction de densité de probabilité de la distribution normale
Récupérer l'appelant d'une fonction en Python
Sortie exclusive de l'application Django utilisant ngrok
Python: essayez d'utiliser l'interface utilisateur sur Pythonista 3 sur iPad
[2020July] Vérifiez l'UDID de l'iPad sous Linux
Utilisez la dernière version de PyCharm sur Ubuntu
J'ai vérifié la liste des touches de raccourci de Jupyter
[Pandas] Principes de base du traitement des données de date à l'aide de dt
100 Language Processing Knock-32 (utilisant des pandas): Prototype de verbe
[Pythonocc] J'ai essayé d'utiliser la CAO sur un notebook Jupyter
Remplissez la largeur du bloc-notes Jupyter pour remplir le navigateur
Mise en évidence de la syntaxe sur la ligne de commande à l'aide de Pygments
Correction des arguments de la fonction utilisée dans map
Calculer la probabilité de valeurs aberrantes sur les moustaches de la boîte
Sonnez le buzzer en utilisant python sur Raspberry Pi 3!
Essayez d'utiliser le module de collections (ChainMap) de python3