La dernière version 0.14.0 de pandas a été publiée le 30/05. Pour mettre à niveau à partir de la version précédente 0.13.1, entrez la commande suivante.
pip install --upgrade pandas
Il a été [mentionné précédemment] que pandas est une bibliothèque d'analyse puissante et de haut niveau qui fournit un objet appelé un bloc de données. C'est juste (http://qiita.com/ynakayama/items/4362c439d9ea814cbe60), mais vous pouvez l'utiliser pour combiner plusieurs ensembles de données comme le SGBDR.
La fonction read_json des pandas peut traiter JSON tel quel comme une trame de données. Ici, nous utiliserons l'API du projet open source House API Project. Ici, des informations telles que le nombre de connexions client Wifi et la température sont publiées sous forme de données ouvertes à l'aide de capteurs. Fusionnons cela.
import pandas as pd
#Obtenez les 100 dernières connexions Wifi au 1er étage
wifi = pd.read_json('http://house-api-project.org/api/shibuhouse/wifi/clients?limit=100house-api-project.org/api/shibuhouse/wifi/1f/clients?limit=100')
#Obtenez les dernières températures de 100 ° F
temp = pd.read_json('http://house-api-project.org/api/shibuhouse/1f/temperature?limit=100')
print( wifi.head(5) )
#=>
# _id clients time
# 0 {'$oid': '538c3799c3ca7c08531d645e'} 21 2014-06-02 08:36:36 UTC
# 1 {'$oid': '538c3760c3ca7c08531d6454'} 21 2014-06-02 08:35:37 UTC
# 2 {'$oid': '538c371fc3ca7c08531d6445'} 21 2014-06-02 08:34:36 UTC
# 3 {'$oid': '538c36e4c3ca7c08531d643b'} 21 2014-06-02 08:33:37 UTC
# 4 {'$oid': '538c36a7c3ca7c08531d642f'} 21 2014-06-02 08:32:36 UTC
print( temp.head(5) )
#=>
# _id temperature time
# 0 {'$oid': '538c37cac3ca7c08531d6465'} 34.000 2014-06-02 08:37:29 UTC
# 1 {'$oid': '538c378dc3ca7c08531d6459'} 34.000 2014-06-02 08:36:29 UTC
# 2 {'$oid': '538c3752c3ca7c08531d644d'} 34.000 2014-06-02 08:35:29 UTC
# 3 {'$oid': '538c3715c3ca7c08531d6442'} 34.000 2014-06-02 08:34:29 UTC
# 4 {'$oid': '538c36dbc3ca7c08531d6437'} 34.000 2014-06-02 08:33:30 UTC
#Fusionner deux ensembles de données par index
merged = pd.merge(wifi, temp, left_index=True, right_index=True)
Les arguments fréquemment utilisés sont indiqués dans le tableau ci-dessous.
argument | La description |
---|---|
left | Fusionner vers la gauche |
right | Fusionner vers la droite |
how | Comment s'inscrire(inner, outer, left, right) |
on | Lorsque vous souhaitez spécifier explicitement le nom de colonne à utiliser pour la fusion |
left_on/right_on | Alias utilisé comme clé de jointure |
left_index/right_index | Lorsque vous souhaitez fusionner par index |
La fonction concat concatène les ensembles de données. C'est similaire à la fusion et à la confusion, mais il est préférable de lire la documentation pour plus de détails.
Merge, join, and concatenate http://pandas.pydata.org/pandas-docs/stable/merging.html
Dans l'exemple d'API JSON précédent, cela ressemble à ceci.
concat = pd.concat([wifi, temp], ignore_index=True, axis=1)
concat.head(10)
#=>
# 0 1 2 \
# 0 {'$oid': '538c4081c3ca7c08531d6616'} 20 2014-06-02 09:14:37 UTC
# 1 {'$oid': '538c4045c3ca7c08531d660a'} 20 2014-06-02 09:13:37 UTC
# 2 {'$oid': '538c4005c3ca7c08531d65fb'} 20 2014-06-02 09:12:37 UTC
# 3 {'$oid': '538c3fcac3ca7c08531d65ef'} 20 2014-06-02 09:11:37 UTC
# 4 {'$oid': '538c3f8ec3ca7c08531d65e4'} 20 2014-06-02 09:10:36 UTC
# 5 {'$oid': '538c3f51c3ca7c08531d65d8'} 20 2014-06-02 09:09:36 UTC
# 6 {'$oid': '538c3f17c3ca7c08531d65cf'} 20 2014-06-02 09:08:36 UTC
# 7 {'$oid': '538c3edbc3ca7c08531d65c2'} 20 2014-06-02 09:07:37 UTC
# 8 {'$oid': '538c3ea1c3ca7c08531d65b9'} 20 2014-06-02 09:06:36 UTC
# 9 {'$oid': '538c3e61c3ca7c08531d65a8'} 22 2014-06-02 09:05:37 UTC
# 3 4 5
# 0 {'$oid': '538c4077c3ca7c08531d6611'} 34.125 2014-06-02 09:14:30 UTC
# 1 {'$oid': '538c403ac3ca7c08531d6606'} 34.125 2014-06-02 09:13:30 UTC
# 2 {'$oid': '538c3fffc3ca7c08531d65fa'} 34.125 2014-06-02 09:12:30 UTC
# 3 {'$oid': '538c3fc4c3ca7c08531d65ee'} 34.125 2014-06-02 09:11:31 UTC
# 4 {'$oid': '538c3f86c3ca7c08531d65e2'} 34.125 2014-06-02 09:10:29 UTC
# 5 {'$oid': '538c3f49c3ca7c08531d65d7'} 34.125 2014-06-02 09:09:29 UTC
# 6 {'$oid': '538c3f0ec3ca7c08531d65cb'} 34.125 2014-06-02 09:08:29 UTC
# 7 {'$oid': '538c3ed1c3ca7c08531d65bf'} 34.125 2014-06-02 09:07:29 UTC
# 8 {'$oid': '538c3e96c3ca7c08531d65b3'} 34.125 2014-06-02 09:06:29 UTC
# 9 {'$oid': '538c3e5bc3ca7c08531d65a7'} 34.125 2014-06-02 09:05:30 UTC
Les arguments fréquemment utilisés sont indiqués dans le tableau ci-dessous.
argument | La description |
---|---|
objs | Spécifiez l'objet pandas à concaténer avec une liste, etc. |
axis | Ligne ou colonne |
join | interne ou externe, la valeur par défaut est externe |
keys | Valeurs associées aux ensembles de données concaténés |
ignore_index | Générer un nouvel index séparément de l'axe à connecter |
Nous avons constaté que les pandas facilitent la fusion et la concaténation d'ensembles de données externes. Par exemple, en traçant ici, vous pouvez voir les possibilités de diverses analyses telles que le dessin d'un diagramme de dispersion et l'examen de la corrélation.
Recommended Posts