Ao usar R, é útil carregar conjuntos de dados de "prática" usando
data(iris)
ou
data(mtcars)
Existe algo semelhante para os Pandas? Eu sei que posso carregar usando qualquer outro método, apenas curioso se há algo embutido.
Ao usar R, é útil carregar conjuntos de dados de "prática" usando
data(iris)
ou
data(mtcars)
Existe algo semelhante para os Pandas? Eu sei que posso carregar usando qualquer outro método, apenas curioso se há algo embutido.
Respostas:
Desde que originalmente escrevi esta resposta, eu a atualizei com as muitas maneiras que agora estão disponíveis para acessar conjuntos de dados de amostra em Python. Pessoalmente, costumo ficar com qualquer pacote que já estou usando (geralmente nativo do mar ou pandas). Se você precisar de acesso offline, instalar o conjunto de dados com Quilt parece ser a única opção.
O pacote de plotagem brilhante seaborn
possui vários conjuntos de dados de amostra 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
Se você não deseja importar seaborn
, mas ainda deseja acessar seus conjuntos de dados de amostra , você pode usar a abordagem de @andrewwowens para os dados de amostra do mar:
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Observe que os conjuntos de dados de amostra contendo colunas categóricas têm seu tipo de coluna modificado porsns.load_dataset()
e o resultado pode não ser o mesmo obtendo-o diretamente do url. Os conjuntos de dados de amostra de íris e dicas também estão disponíveis no repositório do pandas github aqui .
Uma vez que qualquer conjunto de dados pode ser lido via pd.read_csv()
, é possível acessar os conjuntos de dados de amostra todos de R copiando os URLs a partir deste repositório conjunto de dados R .
Maneiras adicionais de carregar os conjuntos de dados de amostra R incluem
statsmodel
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
from pydataset import data
iris = data('iris')
scikit-learn
retorna dados de amostra como matrizes numpy em vez de um quadro de dados do 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 é um gerenciador de conjunto de dados criado para facilitar o gerenciamento do conjunto de dados. Inclui muitos conjuntos de dados de amostra comuns, como vários do repositório de amostra uciml . A página de início rápido mostra como instalar e importar o conjunto de dados da íris:
# In your terminal
$ pip install quilt
$ quilt install uciml/iris
Depois de instalar um conjunto de dados, ele pode ser acessado localmente, portanto, esta é a melhor opção se você deseja trabalhar com os dados offline.
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
O Quilt também oferece suporte ao controle de versão do conjunto de dados e inclui uma breve descrição de cada conjunto de dados.
O rpy2
módulo é feito para isso:
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
r['iris'].head()
rendimentos
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
Até o pandas 0,19, você pode usar a própria rpy
interface do pandas :
import pandas.rpy.common as rcom
iris = rcom.load_data('iris')
print(iris.head())
rendimentos
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
também fornece uma maneira de converter R
objetos em objetos 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())
rendimentos
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')
?
Qualquer arquivo .csv publicamente disponível pode ser carregado no pandas de forma extremamente rápida usando seu URL. Aqui está um exemplo usando o conjunto de dados iris originalmente do arquivo 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()
A saída aqui é o cabeçalho do arquivo .csv que você acabou de carregar do URL fornecido.
>>> 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
Um URL curto memorável para o mesmo é https://j.mp/iriscsv
. Este URL curto funcionará apenas se for digitado e não se for copiado e colado.
iris.names