Cuando se usa R, es útil cargar conjuntos de datos de "práctica" usando
data(iris)
o
data(mtcars)
¿Hay algo similar para Pandas? Sé que puedo cargar usando cualquier otro método, solo tengo curiosidad por saber si hay algo incorporado.
Cuando se usa R, es útil cargar conjuntos de datos de "práctica" usando
data(iris)
o
data(mtcars)
¿Hay algo similar para Pandas? Sé que puedo cargar usando cualquier otro método, solo tengo curiosidad por saber si hay algo incorporado.
Respuestas:
Desde que escribí originalmente esta respuesta, la he actualizado con las muchas formas que ahora están disponibles para acceder a conjuntos de datos de muestra en Python. Personalmente, tiendo a quedarme con cualquier paquete que ya esté usando (generalmente seaborn o pandas). Si necesita acceso sin conexión, instalar el conjunto de datos con Quilt parece ser la única opción.
El brillante paquete de trazado seaborn
tiene varios conjuntos de datos de muestra integrados.
import seaborn as sns
iris = sns.load_dataset('iris')
iris.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
Si no desea importar seaborn
, pero aún desea acceder a sus conjuntos de datos de muestra , puede usar el enfoque de @ andrewwowens para los datos de muestra de seaborn:
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Tenga en cuenta que los conjuntos de datos de muestra que contienen columnas categóricas tienen su tipo de columna modificado porsns.load_dataset()
y es posible que el resultado no sea el mismo al obtenerlo directamente de la URL. Los conjuntos de datos de muestra de iris y puntas también están disponibles en el repositorio de pandas github aquí .
Dado que cualquier conjunto de datos se puede leer a través pd.read_csv()
, es posible acceder a todos los conjuntos de datos de muestra de R copiando las URL de este repositorio conjunto de datos R .
Las formas adicionales de cargar los conjuntos de datos de muestra de R incluyen
statsmodel
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
from pydataset import data
iris = data('iris')
scikit-learn
devuelve datos de muestra como matrices numpy en lugar de un marco de datos 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
Quilt es un administrador de conjuntos de datos creado para facilitar la gestión de conjuntos de datos. Incluye muchos conjuntos de datos de muestra comunes, como varios del repositorio de muestra de uciml . La página de inicio rápido muestra cómo instalar e importar el conjunto de datos de iris:
# In your terminal
$ pip install quilt
$ quilt install uciml/iris
Después de instalar un conjunto de datos, es accesible localmente, por lo que esta es la mejor opción si desea trabajar con los datos sin conexión.
import quilt.data.uciml.iris as ir
iris = ir.tables.iris()
sepal_length sepal_width petal_length petal_width class
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
Quilt también admite el control de versiones de conjuntos de datos e incluye una breve descripción de cada conjunto de datos.
El rpy2
módulo está hecho para esto:
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
r['iris'].head()
rendimientos
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
Hasta pandas 0.19 puede usar la propia rpy
interfaz de pandas :
import pandas.rpy.common as rcom
iris = rcom.load_data('iris')
print(iris.head())
rendimientos
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
también proporciona una forma de convertir R
objetos en objetos de 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())
rendimientos
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
rcom.load_data('iris')
?
pandas.rpy
se eliminó en 0,20 . Para interactuar con R, rpy2
es la opción recomendada.
Cualquier archivo .csv disponible públicamente se puede cargar en pandas extremadamente rápido usando su URL. Aquí hay un ejemplo usando el conjunto de datos de iris originalmente del archivo de 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()
El resultado aquí es el encabezado del archivo .csv que acaba de cargar desde la URL dada.
>>> 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
Una URL corta memorable para el mismo es https://j.mp/iriscsv
. Esta URL corta funcionará solo si se escribe y no si se copia y pega.
iris.names