Bei Verwendung von R ist es praktisch, "Übungs" -Datensätze mit zu laden
data(iris)
oder
data(mtcars)
Gibt es etwas Ähnliches für Pandas? Ich weiß, dass ich mit jeder anderen Methode laden kann, nur neugierig, ob etwas eingebaut ist.
Bei Verwendung von R ist es praktisch, "Übungs" -Datensätze mit zu laden
data(iris)
oder
data(mtcars)
Gibt es etwas Ähnliches für Pandas? Ich weiß, dass ich mit jeder anderen Methode laden kann, nur neugierig, ob etwas eingebaut ist.
Antworten:
Seit ich diese Antwort ursprünglich geschrieben habe, habe ich sie mit den vielen Möglichkeiten aktualisiert, die jetzt für den Zugriff auf Beispieldatensätze in Python verfügbar sind. Persönlich neige ich dazu, mich an das Paket zu halten, das ich bereits benutze (normalerweise Seegeborene oder Pandas). Wenn Sie Offline-Zugriff benötigen, scheint die Installation des Datensatzes mit Quilt die einzige Option zu sein.
Das brillante Plotpaket seaborn
enthält mehrere integrierte Beispieldatensätze.
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
Wenn Sie nicht importieren möchten seaborn
, aber dennoch auf die Beispieldatensätze zugreifen möchten , können Sie den Ansatz von @ andrewwowens für die Meeresgeborenen-Probendaten verwenden:
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Beachten Sie, dass für die Beispieldatensätze, die kategoriale Spalten enthalten, der Spaltentyp geändert wurdesns.load_dataset()
und das Ergebnis möglicherweise nicht dasselbe ist, wenn es direkt von der URL abgerufen wird. Die Iris und Tipps Beispieldatensätze sind auch in den Pandas verfügbar GitHub Repo hier .
Da jeder Datensatz über gelesen werden kann pd.read_csv()
, ist es möglich, auf alle Beispieldatensätze von R zuzugreifen, indem die URLs aus diesem R-Datensatz-Repository kopiert werden .
Zusätzliche Möglichkeiten zum Laden der R-Beispieldatensätze umfassen
statsmodel
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
und PyDataset
from pydataset import data
iris = data('iris')
scikit-learn
Gibt Beispieldaten als Numpy-Arrays und nicht als Pandas-Datenrahmen zurück.
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 ist ein Dataset-Manager, der zur Erleichterung der Dataset-Verwaltung erstellt wurde. Es enthält viele gängige Beispieldatensätze, z. B. mehrere aus dem uciml-Beispielrepository . Die Schnellstartseite zeigt, wie der Iris-Datensatz installiert und importiert wird:
# In your terminal
$ pip install quilt
$ quilt install uciml/iris
Nach der Installation eines Datasets kann lokal darauf zugegriffen werden. Dies ist daher die beste Option, wenn Sie offline mit den Daten arbeiten möchten.
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 unterstützt auch die Versionierung von Datensätzen und enthält eine kurze Beschreibung jedes Datensatzes.
Das rpy2
Modul ist dafür gemacht:
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
r['iris'].head()
ergibt
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
Bis zu Pandas 0.19 können Sie die eigene rpy
Schnittstelle von Pandas verwenden:
import pandas.rpy.common as rcom
iris = rcom.load_data('iris')
print(iris.head())
ergibt
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
bietet auch eine Möglichkeit , R
Objekte in Python-Objekte zu konvertieren :
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())
ergibt
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
wurde in 0,20 entfernt . Die Schnittstelle zu R rpy2
ist die empfohlene Option.
Jede öffentlich verfügbare CSV-Datei kann über ihre URL extrem schnell in Pandas geladen werden. Hier ist ein Beispiel für die Verwendung des Iris-Datasets, das ursprünglich aus dem UCI-Archiv stammt.
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()
Die Ausgabe hier ist der CSV-Dateikopf, den Sie gerade von der angegebenen URL geladen haben.
>>> 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
Eine denkwürdige kurze URL dafür ist https://j.mp/iriscsv
. Diese kurze URL funktioniert nur, wenn sie eingegeben wurde und nicht, wenn sie kopiert wurde.
iris.names