Lors de l'utilisation de R, il est pratique de charger des ensembles de données «d'entraînement» en utilisant
data(iris)
ou
data(mtcars)
Y a-t-il quelque chose de similaire pour les pandas? Je sais que je peux charger en utilisant n'importe quelle autre méthode, juste curieux de savoir s'il y a quelque chose de intégré.
python
pandas
dataset
sample-data
canyon289
la source
la source
Réponses:
Depuis que j'ai initialement écrit cette réponse, je l'ai mise à jour avec les nombreuses méthodes qui sont désormais disponibles pour accéder aux exemples d'ensembles de données en Python. Personnellement, j'ai tendance à m'en tenir à n'importe quel paquet que j'utilise déjà (généralement seaborn ou pandas). Si vous avez besoin d'un accès hors ligne, l'installation de l'ensemble de données avec Quilt semble être la seule option.
Seaborn
Le package de traçage génial
seaborn
contient plusieurs ensembles de données d'échantillons intégrés.import seaborn as sns iris = sns.load_dataset('iris') iris.head()
Pandas
Si vous ne souhaitez pas importer
seaborn
, mais que vous souhaitez tout de même accéder à ses exemples de jeux de données , vous pouvez utiliser l'approche de @ andrewwowens pour les données d'échantillons Seaborn:iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Notez que les exemples d'ensembles de données contenant des colonnes catégorielles ont leur type de colonne modifié par
sns.load_dataset()
et le résultat peut ne pas être le même en l'obtenant directement à partir de l'URL. Les exemples d'ensembles de données d'iris et de conseils sont également disponibles dans le repo pandas github ici .Ensembles de données d'échantillons R
Étant donné que tout ensemble de données peut être lu via
pd.read_csv()
, il est possible d'accéder en copiant les URL à partir échantillons de données de tous R ce référentiel R ensemble de données .Les méthodes supplémentaires de chargement des ensembles de données d'échantillons R incluent
statsmodel
import statsmodels.api as sm iris = sm.datasets.get_rdataset('iris').data
et
PyDataset
from pydataset import data iris = data('iris')
scikit-learn
scikit-learn
renvoie des exemples de données sous forme de tableaux numpy plutôt que de trame de données pandas.from sklearn.datasets import load_iris iris = load_iris() # `iris.data` holds the numerical values # `iris.feature_names` holds the numerical column names # `iris.target` holds the categorical (species) values (as ints) # `iris.target_names` holds the unique categorical names
Courtepointe
Quilt est un gestionnaire de jeux de données créé pour faciliter la gestion des jeux de données. Il comprend de nombreux exemples de jeux de données courants, tels que plusieurs du référentiel d'échantillons uciml . La page de démarrage rapide montre comment installer et importer l'ensemble de données d'iris:
# In your terminal $ pip install quilt $ quilt install uciml/iris
Après avoir installé un ensemble de données, il est accessible localement, c'est donc la meilleure option si vous souhaitez travailler avec les données hors ligne.
import quilt.data.uciml.iris as ir iris = ir.tables.iris()
Quilt prend également en charge la gestion des versions des ensembles de données et inclut une brève description de chaque ensemble de données.
la source
Le
rpy2
module est fait pour cela:from rpy2.robjects import r, pandas2ri pandas2ri.activate() r['iris'].head()
rendements
Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa
Jusqu'à pandas 0.19, vous pouvez utiliser la propre
rpy
interface de pandas :import pandas.rpy.common as rcom iris = rcom.load_data('iris') print(iris.head())
rendements
Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa 4 4.6 3.1 1.5 0.2 setosa 5 5.0 3.6 1.4 0.2 setosa
rpy2
fournit également un moyen de convertir desR
objets en objets Python :import pandas as pd import rpy2.robjects as ro import rpy2.robjects.conversion as conversion from rpy2.robjects import pandas2ri pandas2ri.activate() R = ro.r df = conversion.ri2py(R['mtcars']) print(df.head())
rendements
mpg cyl disp hp drat wt qsec vs am gear carb 0 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 1 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 2 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 3 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 4 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
la source
rcom.load_data('iris')
?pandas.rpy
été supprimé dans 0.20 . Pour s'interfacer avec R,rpy2
est l'option recommandée.Tout fichier .csv disponible publiquement peut être chargé dans des pandas très rapidement en utilisant son URL. Voici un exemple utilisant le jeu de données iris originaire des archives UCI.
import pandas as pd file_name = "https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv" df = pd.read_csv(file_name) df.head()
La sortie ici étant l'en-tête du fichier .csv que vous venez de charger à partir de l'URL donnée.
>>> df.head() sepal_length sepal_width petal_length petal_width species 0 5.1 3.5 1.4 0.2 setosa 1 4.9 3.0 1.4 0.2 setosa 2 4.7 3.2 1.3 0.2 setosa 3 4.6 3.1 1.5 0.2 setosa 4 5.0 3.6 1.4 0.2 setosa
Une URL courte mémorable pour le même est
https://j.mp/iriscsv
. Cette URL courte ne fonctionnera que si elle est tapée et non si elle est copiée.la source
iris.names