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.
Tout d'abord, nous apporterons l'ensemble de données au monde des pandas, qui comporte deux flux principaux.
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)
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. ..
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.
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.
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
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é.
Après cela, l'étape de préparation du canevas et l'étape de sortie de l'image seront omises.
df.plot(legend=True)
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.
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)
Les graphiques à barres sont utiles si vous souhaitez affiner et visualiser dans un espace vectoriel unidimensionnel.
df['sepal width'].hist()
Ceci est utile pour suivre les modifications de plusieurs données au fil du temps.
df.plot(kind='area', legend=True)
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