Solución:
Puedes usar rpy2
paquete para acceder a todos los conjuntos de datos de R desde Python.
Configure la interfaz:
>>> from rpy2.robjects import r, pandas2ri
>>> def data(name):
... return pandas2ri.ri2py(r[name])
Luego llame data()
con el nombre de cualquier conjunto de datos de los conjuntos de datos disponibles (como en R
)
>>> df = data('iris')
>>> df.describe()
Sepal.Length Sepal.Width Petal.Length Petal.Width
count 150.000000 150.000000 150.000000 150.000000
mean 5.843333 3.057333 3.758000 1.199333
std 0.828066 0.435866 1.765298 0.762238
min 4.300000 2.000000 1.000000 0.100000
25% 5.100000 2.800000 1.600000 0.300000
50% 5.800000 3.000000 4.350000 1.300000
75% 6.400000 3.300000 5.100000 1.800000
max 7.900000 4.400000 6.900000 2.500000
Para ver una lista de los conjuntos de datos disponibles con una descripción para cada uno:
>>> print(r.data())
Nota: rpy2 requiere R
instalación con ajuste R_HOME
variable, y pandas
debe instalarse también.
ACTUALIZAR
Acabo de crear PyDataset, que es un módulo simple para hacer que cargar un conjunto de datos desde Python sea tan fácil como R
es (y no requiere R
instalación, solo pandas
).
Para comenzar a usarlo, instale el módulo:
$ pip install pydataset
Luego, simplemente cargue cualquier conjunto de datos que desee (actualmente hay alrededor de 757 conjuntos de datos disponibles):
from pydataset import data
titanic = data('titanic')
También hay conjuntos de datos disponibles en la biblioteca Scikit-Learn.
from sklearn import datasets
Hay varios conjuntos de datos dentro de este paquete. Algunos de los Conjuntos de datos de juguetes están:
load_boston() Load and return the boston house-prices dataset (regression).
load_iris() Load and return the iris dataset (classification).
load_diabetes() Load and return the diabetes dataset (regression).
load_digits([n_class]) Load and return the digits dataset (classification).
load_linnerud() Load and return the linnerud dataset (multivariate regression).
Originalmente publiqué esto en la pregunta relacionada Conjuntos de datos de muestra en Pandas, pero como es relevante fuera de los pandas, también lo incluyo aquí.
Hay muchas formas que ahora están disponibles para acceder a conjuntos de datos de muestra en Python. Personalmente, tiendo a seguir 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.
Seaborn
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
Pandas
Si no desea importar seaborn
, pero aún desea acceder a sus conjuntos de datos de muestra, puede leer los datos de muestra de seaborn desde su URL:
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 por sns.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í.
Conjuntos de datos de muestra R
Dado que cualquier conjunto de datos se puede leer a través de pd.read_csv()
, es posible acceder a todos los conjuntos de datos de muestra de R copiando las URL de este repositorio de conjuntos de datos de 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
y PyDataset
from pydataset import data
iris = data('iris')
scikit-learn
scikit-learn
devuelve datos de muestra como matrices numpy en lugar de un marco de datos de 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
Edredón
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.