Korzystając z języka R, przydatne jest ładowanie „ćwiczeniowych” zestawów danych za pomocą
data(iris)
lub
data(mtcars)
Czy jest coś podobnego dla Pand? Wiem, że mogę załadować inną metodą, jestem po prostu ciekawy, czy jest coś wbudowanego.
Korzystając z języka R, przydatne jest ładowanie „ćwiczeniowych” zestawów danych za pomocą
data(iris)
lub
data(mtcars)
Czy jest coś podobnego dla Pand? Wiem, że mogę załadować inną metodą, jestem po prostu ciekawy, czy jest coś wbudowanego.
Odpowiedzi:
Ponieważ pierwotnie napisałem tę odpowiedź, zaktualizowałem ją na wiele sposobów, które są teraz dostępne, aby uzyskać dostęp do przykładowych zestawów danych w Pythonie. Osobiście mam tendencję do trzymania się dowolnego pakietu, z którego już korzystam (zwykle jest to poroże morskie lub pandy). Jeśli potrzebujesz dostępu w trybie offline, instalacja zestawu danych za pomocą Quilt wydaje się być jedyną opcją.
Doskonały pakiet do drukowania seabornma kilka wbudowanych przykładowych zestawów danych.
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
Jeśli nie chcesz importować seaborn, ale nadal chcesz uzyskać dostęp do jego przykładowych zestawów danych , możesz użyć podejścia @ andrewwowens do przykładowych danych z porostów morskich:
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Zwróć uwagę, że przykładowe zestawy danych zawierające kolumny kategorialne mają zmodyfikowany typ kolumny przez,sns.load_dataset() a wynik może nie być taki sam, jeśli zostanie pobrany bezpośrednio z adresu URL. Przykładowe zestawy danych tęczówki i końcówek są również dostępne w repozytorium github pandas tutaj .
Ponieważ każdy zbiór danych można odczytać za pośrednictwem pd.read_csv()możliwe jest, aby uzyskać dostęp do przykładowych zestawów danych wszystkie R poprzez kopiowanie adresów URL z tym R zbioru danych repozytorium .
Dodatkowe sposoby ładowania przykładowych zestawów danych języka R obejmują
statsmodel
import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
from pydataset import data
iris = data('iris')
scikit-learn zwraca przykładowe dane jako tablice numpy, a nie ramkę danych pandy.
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 to menedżer zbiorów danych stworzony w celu ułatwienia zarządzania zbiorem danych. Zawiera wiele typowych przykładowych zestawów danych, takich jak kilka z repozytorium próbek uciml . Strona szybkiego startu pokazuje, jak zainstalować i zaimportować zestaw danych tęczówki:
# In your terminal
$ pip install quilt
$ quilt install uciml/iris
Po zainstalowaniu zestawu danych jest on dostępny lokalnie, więc jest to najlepsza opcja, jeśli chcesz pracować z danymi w trybie 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
Quilt obsługuje również wersjonowanie zestawów danych i zawiera krótki opis każdego zestawu danych.
rpy2Moduł jest wykonany z tego:
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
r['iris'].head()
plony
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
Do pandy 0.19 możesz używać własnego rpyinterfejsu pand :
import pandas.rpy.common as rcom
iris = rcom.load_data('iris')
print(iris.head())
plony
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
rpy2zapewnia również sposób konwertowania Robiektów na obiekty Pythona :
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())
plony
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')?
Każdy publicznie dostępny plik .csv można bardzo szybko załadować do pandy za pomocą jego adresu URL. Oto przykład wykorzystujący zestaw danych tęczówki pochodzący z archiwum 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()
Dane wyjściowe to nagłówek pliku .csv, który właśnie załadowałeś z podanego adresu URL.
>>> 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
Niezapomniany krótki adres URL do tego samego to https://j.mp/iriscsv. Ten krótki adres URL będzie działał tylko wtedy, gdy zostanie wpisany, a nie, jeśli zostanie skopiowany.
iris.names