7.4.5 データストア・オブジェクトに関する情報の取得

oml.ds.describe関数は、データストア内のオブジェクトに関する情報を提供します。

oml.ds.describeの構文は次のとおりです。

oml.ds.describe(name, owner=None))

name引数は、データストアの名前を指定する文字列です。

owner引数は、データストアの所有者を指定する文字列またはNone (デフォルト)です。所有者を指定しない場合、この関数は、データストアが現在のユーザーによって所有されている場合にそのデータストアに関する情報を返します。

oml.ds.describe関数は、pandas.DataFrameオブジェクトを返します。このオブジェクトの各行は、データストア内のオブジェクトを表します。DataFrameの列は次のとおりです。

  • オブジェクトの名前を指定するobject_name

  • オブジェクトのクラスを指定するclass

  • オブジェクトのサイズをバイト単位で指定するsize

  • オブジェクトの長さを指定するlength

  • オブジェクトの行数を指定するrow_count

  • オブジェクトの列数を指定するcol_count

次の場合、この関数ではValueErrorが発生します。

  • 現在のユーザーがデータストアの所有者でなく、データストアの読取り権限を付与されていない。

  • データストアが存在しない。

例7-17 データストア・オブジェクトに関する情報の取得

この例では、oml.ds.describe関数の使用方法を示します。この例で使用しているデータストアの作成については、例7-14を参照してください。

import oml

# Describe the contents of the ds_pydata datastore.
oml.ds.describe(name='ds_pydata')
oml.ds.describe(name="ds_pydata")[['object_name', 'class']]

この例のリスト

>>> import oml
>>>
>>> # Describe the contents of the ds_pydata datastore.
... oml.ds.describe(name='ds_pydata')
    object_name          class   size  length  row_count  col_count
0    oml_boston  oml.DataFrame   1073     506        506         14
1  oml_diabetes  oml.DataFrame    964     442        442         11
2          wine          Bunch  24177       5          1          5
>>> oml.ds.describe(name="ds_pydata")[['object_name', 'class']]
    object_name          class
0    oml_boston  oml.DataFrame
1  oml_diabetes  oml.DataFrame
2          wine          Bunch