迅速なテスト、デバッグ、移植可能なサンプルの作成、およびベンチマークのために、Rは(Base R datasets
パッケージ内の)多数のデータセットを利用できます。 Rプロンプトのlibrary(help="datasets")
コマンドは、100個近くの履歴データセットを記述します。各データセットには、説明とメタデータが関連付けられています。
Pythonにはこのようなものがありますか?
_rpy2
_ パッケージを使用して、PythonからすべてのRデータセットにアクセスできます。
インターフェースをセットアップします。
_>>> from rpy2.robjects import r, pandas2ri
>>> def data(name):
... return pandas2ri.ri2py(r[name])
_
次に、使用可能なデータセットの任意のデータセット名でdata()
を呼び出します(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
_
使用可能なデータセットのリストと、それぞれの説明を表示するには:
_>>> print(r.data())
_
注:rpy2では、_R_HOME
_変数を設定してR
をインストールする必要があり、 pandas
もインストールする必要があります。
作成したのは PyDataset です。これは、PythonからR
のように簡単にデータセットをロードするためのシンプルなモジュールです。 R
のインストールは不要で、pandas
のみが必要です。
使用を開始するには、モジュールをインストールします。
_$ pip install pydataset
_
必要なデータセットをロードするだけです(現在、約757個のデータセットが利用可能です)。
_from pydataset import data
titanic = data('titanic')
_
Scikit-Learn ライブラリから利用可能なデータセットもあります。
from sklearn import datasets
このパッケージには複数のデータセットがあります。一部のToyデータセットは次のとおりです。
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).
私はもともと関連する質問でこれを投稿しました Sample Datasets in Pandas ですが、それはpandas私もここに含めています。
Pythonでサンプルデータセットにアクセスするために利用できる多くの方法があります。個人的には、すでに使用しているパッケージ(通常はシーボーンまたはパンダ)に固執する傾向があります。オフラインアクセスが必要な場合は、Quiltでデータセットをインストールすることが唯一のオプションのようです。
素晴らしいプロットパッケージseaborn
には、いくつかの組み込みサンプルデータセットがあります。
_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
_
seaborn
をインポートしたくないが、まだ そのサンプルデータセット にアクセスしたい場合、そのURLからseabornサンプルデータを読み取ることができます。
_iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
_
カテゴリ型の列を含むサンプルデータセットには 列の種類がsns.load_dataset()
で変更されている があり、URLから直接取得すると結果が異なる場合があります。アイリスとチップのサンプルデータセットは、pandas github repo here でも利用できます。
pd.read_csv()
を介してデータセットを読み取ることができるため、 このRデータセットリポジトリ からURLをコピーすることにより、すべてのRのサンプルデータセットにアクセスできます。
Rサンプルデータセットを読み込む追加の方法には、 statsmodel
が含まれます。
_import statsmodels.api as sm
iris = sm.datasets.get_rdataset('iris').data
_
および PyDataset
_from pydataset import data
iris = data('iris')
_
_scikit-learn
_は、サンプルデータをpandasデータフレームではなくnumpy配列として返します。
_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 は、データセット管理を容易にするために作成されたデータセットマネージャーです。 cimlサンプルリポジトリ の 複数 など、多くの一般的なサンプルデータセットが含まれています。 クイックスタートページ は、アイリスデータセットをインストールおよびインポートする方法を示しています。
_# In your terminal
$ pip install quilt
$ quilt install uciml/iris
_
データセットをインストールすると、ローカルでアクセスできるため、データをオフラインで操作する場合に最適なオプションです。
_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は、データセットのバージョン管理もサポートし、各データセットの 短い説明 を含めます。
Joranのコメントに続いて、独自のdatasets
パッケージを提供する statsmodels モジュールを見つけました。 オンラインドキュメント は、Rで利用可能なデータセットをインポートする方法の例を示しています。
import statsmodels.api as sm
duncan_prestige = sm.datasets.get_rdataset("Duncan", "car")
print duncan_prestige.__doc__
MyMVPAは、データベースに簡単にアクセスできる別のモジュールです。以下のリンクを確認できます。
>>> from mvpa2.tutorial_suite import *
>>> data = [[ 1, 1, -1],
... [ 2, 0, 0],
... [ 3, 1, 1],
... [ 4, 0, -1]]
>>> ds = Dataset(data)
>>> ds.shape
(4, 3)
>>> len(ds)
4
リンクからの例
具体的には、@ tmthydvnprtの例を使用します。
from sklearn import datasets
iris = datasets.load_iris()
実際のデータセットは、iris.data
。
http://scikit-learn.org/stable/datasets/
Running Python 3.5