# 主要クラス

## DatasetInfo[[datasets.DatasetInfo]]

#### datasets.DatasetInfo[[datasets.DatasetInfo]]

```python
datasets.DatasetInfo(description: str = <factory>, citation: str = <factory>, homepage: str = <factory>, license: str = <factory>, features: typing.Optional[datasets.features.features.Features] = None, post_processed: typing.Optional[datasets.info.PostProcessedInfo] = None, supervised_keys: typing.Optional[datasets.info.SupervisedKeysData] = None, builder_name: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, version: typing.Union[str, datasets.utils.version.Version, NoneType] = None, splits: typing.Optional[datasets.splits.SplitDict] = None, download_checksums: typing.Optional[dict] = None, download_size: typing.Optional[int] = None, post_processing_size: typing.Optional[int] = None, dataset_size: typing.Optional[int] = None, size_in_bytes: typing.Optional[int] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/info.py#L92)

**パラメータ:**

description (`str`) : データセットの説明。

citation (`str`) : データセットの BibTeX 引用情報。

homepage (`str`) : データセットの公式ホームページへのURL。

license (`str`) : データセットのライセンス。ライセンス名または、ライセンスの条件を含む段落である可能性があります。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの列の型を指定するために使用される特徴量です。

post_processed (`PostProcessedInfo`, *任意*) : 非推奨。データセットの事後処理に関するリソースの情報。例えば、インデックスの情報を含む場合があります。

supervised_keys (`SupervisedKeysData`, *任意*) : データセットが適用可能な場合、教師あり学習の入力特徴量とラベルを指定します（TFDSからのレガシー）。

builder_name (`str`, *任意*) : データセットの作成に使用される`GeneratorBasedBuilder`サブクラスの名前です。また、データセットビルダークラス名のsnake_case形式でもあります。

config_name (`str`, *任意*) : [BuilderConfig](/docs/datasets/main/ja/package_reference/builder_classes#datasets.BuilderConfig)から派生した設定の名前。

version (`str` または [Version](/docs/datasets/main/ja/package_reference/builder_classes#datasets.Version)、*任意*) : データセットのバージョン。

splits (`dict`, *任意*) : スプリット名とメタデータ間のマッピング。

download_checksums (`dict`, *任意*) : データセットのチェックサムをダウンロードする URL と、それに対応するメタデータとの間のマッピングです。

download_size (`int`, *optional*) : データセットを生成するためにダウンロードするファイルのサイズ（バイト単位）。

post_processing_size (`int`, *optional*) : 非推奨。後処理（ある場合）後のデータセットのサイズ（バイト単位）。

dataset_size (`int`, *optional*) : 全スプリットの Arrow テーブルの合計サイズ（バイト単位）。

size_in_bytes (`int`, *optional*) : データセットに関連付けられたすべてのファイルの合計サイズ（バイト単位）（ダウンロードされたファイル + Arrow ファイル）。

- ****config_kwargs** (追加のキーワード引数) : [BuilderConfig](/docs/datasets/main/ja/package_reference/builder_classes#datasets.BuilderConfig) に渡され、[DatasetBuilder](/docs/datasets/main/ja/package_reference/builder_classes#datasets.DatasetBuilder) で使用されるキーワード引数です。

データセットに関する情報。

`DatasetInfo`は、データセットの名前、バージョン、特徴量などを文書化します。引数とプロパティの完全なリストについては、コンストラクターを参照してください。

すべてのフィールドが構築時に既知であるとは限らず、後で更新される場合があります。

#### from_directory[[datasets.DatasetInfo.from_directory]]

```python
from_directory(dataset_info_dir: str, storage_options: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/info.py#L247)

**パラメータ:**

dataset_info_dir (`str`) : メタデータファイルを含むディレクトリ。特定のデータセットバージョンのルートディレクトリである必要があります。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

`dataset_info_dir`内のJSONファイルから[DatasetInfo](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetInfo)を作成します。

この関数は、[DatasetInfo](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetInfo)の動的に生成されるすべてのフィールド（num_examples、hash、作成時刻など）を更新します。

これにより、以前のすべてのメタデータが上書きされます。

例:

```py
>>> from datasets import DatasetInfo
>>> ds_info = DatasetInfo.from_directory("/path/to/directory/")
```

#### write_to_directory[[datasets.DatasetInfo.write_to_directory]]

```python
write_to_directory(dataset_info_dir, pretty_print = False, storage_options: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/info.py#L186)

**パラメータ:**

dataset_info_dir (`str`) : 保存先ディレクトリ。

pretty_print (`bool`、デフォルトは`False`) : `True`の場合、JSONはインデントレベル4で整形出力されます。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

`DatasetInfo`とライセンス（存在する場合）をJSONファイルとして`dataset_info_dir`に書き出します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.info.write_to_directory("/path/to/directory/")
```

## データセット[[datasets.Dataset]]

ベースクラス[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)は、Apache ArrowテーブルをバックエンドとするDatasetを実装しています。

#### datasets.Dataset[[datasets.Dataset]]

```python
datasets.Dataset(arrow_table: Table, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, indices_table: typing.Optional[datasets.table.Table] = None, fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L709)

ArrowテーブルをバックエンドとするDataset。

#### add_column[[datasets.Dataset.add_column]]

```python
add_column(name: str, column: typing.Union[list, numpy.ndarray], new_fingerprint: typing.Optional[str] = None, feature: typing.Union[dict, list, tuple, datasets.features.features.Value, datasets.features.features.ClassLabel, datasets.features.translation.Translation, datasets.features.translation.TranslationVariableLanguages, datasets.features.features.LargeList, datasets.features.features.List, datasets.features.features.Array2D, datasets.features.features.Array3D, datasets.features.features.Array4D, datasets.features.features.Array5D, datasets.features.audio.Audio, datasets.features.image.Image, datasets.features.mesh.Mesh, datasets.features.video.Video, datasets.features.pdf.Pdf, datasets.features.nifti.Nifti, datasets.features.bio_sequence.BioSequence, datasets.features.bio_structure.BioStructure, NoneType] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L6269)

**パラメータ:**

name (`str`) : 列名。

column (`list` または `np.array`) : 追加する列データ。

feature (`FeatureType` または `None`、デフォルトは `None`) : 列のデータ型。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

Datasetにカラムを追加します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> more_text = ds["text"]
>>> ds = ds.add_column(name="text_2", column=more_text)
>>> ds
Dataset({
    features: ['text', 'label', 'text_2'],
    num_rows: 1066
})
```

#### add_item[[datasets.Dataset.add_item]]

```python
add_item(item: dict, new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L6531)

**パラメータ:**

item (`dict`) : 追加するアイテムデータ。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

Datasetにアイテムを追加します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> new_review = {'label': 0, 'text': 'this movie is the absolute worst thing I have ever seen'}
>>> ds = ds.add_item(new_review)
>>> ds[-1]
{'label': 0, 'text': 'this movie is the absolute worst thing I have ever seen'}
```

#### from_file[[datasets.Dataset.from_file]]

```python
from_file(filename: str, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, indices_filename: typing.Optional[str] = None, in_memory: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L792)

**パラメータ:**

filename (`str`) : データセットのファイル名。

info (`DatasetInfo`, *任意*) : 説明や引用などのデータセット情報。

split (`NamedSplit`, *任意*) : データセットの分割の名前。

indices_filename (`str`, *任意*) : インデックスのファイル名。

in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

filename の Arrow テーブルをバックエンドとする Dataset をインスタンス化します。

#### from_buffer[[datasets.Dataset.from_buffer]]

```python
from_buffer(buffer: Buffer, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, indices_buffer: typing.Optional[pyarrow.lib.Buffer] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L832)

**パラメータ:**

buffer (`pyarrow.Buffer`) : Arrowバッファ。

info (`DatasetInfo`, *任意*) : 説明や引用などのデータセット情報。

split (`NamedSplit`, *任意*) : データセットの分割の名前。

indices_buffer (`pyarrow.Buffer`, *任意*) : Arrowバッファのインデックス。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

Arrowバッファをバックエンドに持つDatasetをインスタンス化します。

#### from_pandas[[datasets.Dataset.from_pandas]]

```python
from_pandas(df: DataFrame, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, preserve_index: typing.Optional[bool] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L864)

**パラメータ:**

df (`pandas.DataFrame`) : データセットを含むデータフレーム。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

info (`DatasetInfo`, *任意*) : 説明や引用などのデータセット情報。

split (`NamedSplit`, *任意*) : データセットの分割の名前。

preserve_index (`bool`, *任意*) : 結果の Dataset にインデックスを追加の列として保存するかどうか。`None` がデフォルトで、`RangeIndex` はメタデータとしてのみ保存されますが、それ以外は列としてインデックスが保存されます。列として保存することを強制するには `preserve_index=True` を使用します。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

`pandas.DataFrame`を`pyarrow.Table`に変換して、[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)を作成します。

結果として得られる Arrow Table のカラム型は、DataFrame 内の `pandas.Series` の dtype から推論されます。object 以外の Series の場合、NumPy の dtype はその Arrow 相当の型に変換されます。`object` の場合、この Series 内の Python オブジェクトを確認してデータ型を推測する必要があります。

`object` dtype の Series は、常に意味のある Arrow 型を導出するのに十分な情報を保持しているとは限りません。DataFrame の長さが 0 である場合や、Series が `None/nan` オブジェクトのみを含む場合など、型を推論できない場合は、型は `null` に設定されます。この挙動は、明示的な features を構築してこの関数に渡すことで回避できます。

Important: a dataset created with from_pandas() lives in memory and therefore doesn't have an associated cache directory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. save_to_disk / load_from_disk.

例:

```py
>>> ds = Dataset.from_pandas(df)
```

#### from_dict[[datasets.Dataset.from_dict]]

```python
from_dict(mapping: dict, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, on_mixed_types: typing.Optional[typing.Literal['use_json']] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L982)

**パラメータ:**

mapping (`Mapping`) : 文字列から配列またはPythonのリストへのマッピング。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

info (`DatasetInfo`, *任意*) : 説明や引用などのデータセット情報。

split (`NamedSplit`, *任意*) : データセットの分割の名前。

on_mixed_types (`Literal["use_json"]`、*任意*、デフォルトは`None`) : "use_json"の場合、混合型のフィールド、つまり事前定義されたスキーマを持たない非構造化データを含むフィールドにJson()型を使用します。この場合、混合型のフィールドはJson()に設定されます。これにより、文字列/整数/浮動小数点数の混合を含むリストや、任意の値型を持つ辞書を読み込むことが可能になります。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

`dict`を`pyarrow.Table`に変換して、[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)を作成します。

Important: a dataset created with from_dict() lives in memory and therefore doesn't have an associated cache directory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. save_to_disk / load_from_disk.

例:

各カラムが1つのリストを含む辞書からDatasetを取得します:

```py
>>> ds = Dataset.from_dict({"text": ["hello there !", "general kenobi !"]})
```

features を渡してカラムの型を設定します。画像データセットの場合の例を以下に示します。

```py
>>> features = Features({"image": Image()})
>>> ds = Dataset.from_dict({"image": ["path/to/image.png"]}, features=features)
```

Datasets は列形式である Arrow をベースにしているため、すべての例が同じ型とサブタイプを持ち、辞書が同じキーと値の型を持つことを前提としています。フィールドの型が一致しない場合、Datasets の読み込みはエラーになります。また、辞書の欠損フィールドには None が設定され、すべての辞書が同じキーと値の型を持つように補完されます。

この問題を回避し、エラーなしで混合型を許可するには、`on_mixed_types="use_json"`を使用するか、[Json](/docs/datasets/main/ja/package_reference/loading_methods#datasets.Json)型で`features=`を指定できます。

```py
>>> ds = Dataset.from_dict({"a": [0, "foo", {"subfield": "bar"}]})
Traceback (most recent call last):
  ...
  File "pyarrow/error.pxi", line 92, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Could not convert 'foo' with type str: tried to convert to int64

>>> ds = Dataset.from_dict({"a": [0, "foo", {"subfield": "bar"}]}, on_mixed_types="use_json")
>>> ds.features
{'a': Json()}
>>> list(ds["a"])
[0, "foo", {"subfield": "bar"}]

>>> features = Features({"a": Json()})
>>> ds = Dataset.from_dict({"a": [0, "foo", {"subfield": "bar"}]}, features=features)
>>> ds.features
{'a': Json()}
>>> list(ds["a"])
[0, "foo", {"subfield": "bar"}]
```

辞書の一覧でキーや値が任意の場合にも有用です。欠損フィールドをNoneで埋めることを避けることができます。

```py
>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]})
>>> ds.features
{'a': List({'b': Value('int64'), 'c': Value('int64')})}
>>> list(ds["a"])
[[{'b': 0, 'c': None}, {'b': None, 'c': 0}]]  # missing fields are filled with None

>>> features = Features({"a": List(Json())})
>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]}, features=features)
>>> ds.features
{'a': List(Json())}
>>> list(ds["a"])
[[{'b': 0}, {'c': 0}]]  # OK

>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]}, on_mixed_types="use_json")
>>> ds.features
{'a': List(Json())}
>>> list(ds["a"])
[[{'b': 0}, {'c': 0}]]  # OK
```

ツール呼び出しデータを用いた別の例:

```py
>>> messages = [
...     {"role": "user", "content": "Turn on the living room lights and play my electronic music playlist."},
...     {"role": "assistant", "tool_calls": [
...         {"type": "function", "function": {
...             "name": "control_light",
...             "arguments": {"room": "living room", "state": "on"}
...         }},
...         {"type": "function", "function": {
...             "name": "play_music",
...             "arguments": {"playlist": "electronic"}  # mixed-type here since keys ["playlist"] and ["room", "state"] are different
...         }}]
...     },
...     {"role": "tool", "name": "control_light", "content": "The lights in the living room are now on."},
...     {"role": "tool", "name": "play_music", "content": "The music is now playing."},
...     {"role": "assistant", "content": "Done!"}
... ]
>>> ds = Dataset.from_dict({"messages": [messages]}, on_mixed_types="use_json")
>>> ds.features
{'messages': List({'role': Value('string'), 'content': Value('string'), 'tool_calls': List(Json()), 'name': Value('string')})}
>>> ds[0]["messages"][1]["tool_calls"][0]["function"]["arguments"]
{"room": "living room", "state": "on"}
```

#### from_list[[datasets.Dataset.from_list]]

```python
from_list(mapping: list, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, on_mixed_types: typing.Optional[typing.Literal['use_json']] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1148)

**パラメータ:**

mapping (`List[dict]`) : 文字列から行の値へのマッピングのリスト。

features (`Features`、省略可) : データセットの機能。

info (`DatasetInfo`, 任意) : 説明や引用などのデータセット情報。

split (`NamedSplit`、省略可) : データセットの分割の名前。

on_mixed_types (`Literal["use_json"]`、*任意*、デフォルトは`None`) : "use_json"の場合、混合型のフィールド、つまり事前定義されたスキーマを持たない非構造化データを含むフィールドにJson()型を使用します。この場合、混合型のフィールドはJson()に設定されます。これにより、文字列/整数/浮動小数点数の混合を含むリストや、任意の値型を持つ辞書を読み込むことが可能になります。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

辞書のリストを`pyarrow.Table`に変換して、[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)を作成します。

features に何かが渡された場合でも、最初のエントリのキーがデータセットの列を決定するために使用されることに注意してください。

Important: a dataset created with from_list() lives in memory and therefore doesn't have an associated cache directory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. save_to_disk / load_from_disk.

例:

例を含むリストからDatasetを取得します:

```py
>>> ds = Dataset.from_list([{"text": "hello there !"}, {"text": "general kenobi !"}]})
```

features を渡してカラムの型を設定します。画像データセットの場合の例を以下に示します。

```py
>>> features = Features({"image": Image()})
>>> ds = Dataset.from_list([{"image": "path/to/image.png"}], features=features)
```

Datasets は列形式である Arrow をベースにしているため、すべての例が同じ型とサブタイプを持ち、辞書が同じキーと値の型を持つことを前提としています。フィールドの型が一致しない場合、Datasets の読み込みはエラーになります。また、辞書の欠損フィールドには None が設定され、すべての辞書が同じキーと値の型を持つように補完されます。

この問題を回避し、エラーなしで混合型を許可するには、`on_mixed_types="use_json"`を使用するか、[Json](/docs/datasets/main/ja/package_reference/loading_methods#datasets.Json)型で`features=`を指定できます。

```py
>>> ds = Dataset.from_list([{"a": 0}, {"a": "foo"}, {"a": {"subfield": "bar"}}])
Traceback (most recent call last):
  ...
  File "pyarrow/error.pxi", line 92, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Could not convert 'foo' with type str: tried to convert to int64

>>> ds = Dataset.from_list([{"a": 0}, {"a": "foo"}, {"a": {"subfield": "bar"}}], on_mixed_types="use_json")
>>> ds.features
{'a': Json()}
>>> list(ds["a"])
[0, "foo", {"subfield": "bar"}]

>>> features = Features({"a": Json()})
>>> ds = Dataset.from_list([{"a": 0}, {"a": "foo"}, {"a": {"subfield": "bar"}}], features=features)
>>> ds.features
{'a': Json()}
>>> list(ds["a"])
[0, "foo", {"subfield": "bar"}]
```

辞書の一覧でキーや値が任意の場合にも有用です。欠損フィールドをNoneで埋めることを避けることができます。

```py
>>> ds = Dataset.from_list([{"a": [{"b": 0}, {"c": 0}]}])
>>> ds.features
{'a': List({'b': Value('int64'), 'c': Value('int64')})}
>>> list(ds["a"])
[[{'b': 0, 'c': None}, {'b': None, 'c': 0}]]  # missing fields are filled with None

>>> features = Features({"a": List(Json())})
>>> ds = Dataset.from_list([{"a": [{"b": 0}, {"c": 0}]}], features=features)
>>> ds.features
{'a': List(Json())}
>>> list(ds["a"])
[[{'b': 0}, {'c': 0}]]  # OK

>>> ds = Dataset.from_list([{"a": [{"b": 0}, {"c": 0}]}], on_mixed_types="use_json")
>>> ds.features
{'a': List(Json())}
>>> list(ds["a"])
[[{'b': 0}, {'c': 0}]]  # OK
```

ツール呼び出しデータを用いた別の例:

```py
>>> messages = [
...     {"role": "user", "content": "Turn on the living room lights and play my electronic music playlist."},
...     {"role": "assistant", "tool_calls": [
...         {"type": "function", "function": {
...             "name": "control_light",
...             "arguments": {"room": "living room", "state": "on"}
...         }},
...         {"type": "function", "function": {
...             "name": "play_music",
...             "arguments": {"playlist": "electronic"}  # mixed-type here since keys ["playlist"] and ["room", "state"] are different
...         }}]
...     },
...     {"role": "tool", "name": "control_light", "content": "The lights in the living room are now on."},
...     {"role": "tool", "name": "play_music", "content": "The music is now playing."},
...     {"role": "assistant", "content": "Done!"}
... ]
>>> ds = Dataset.from_list([{"messages": messages}], on_mixed_types="use_json")
>>> ds.features
{'messages': List({'role': Value('string'), 'content': Value('string'), 'tool_calls': List(Json()), 'name': Value('string')})}
>>> ds[0]["messages"][1]["tool_calls"][0]["function"]["arguments"]
{"room": "living room", "state": "on"}
```

#### from_generator[[datasets.Dataset.from_generator]]

```python
from_generator(generator: typing.Callable, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, gen_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, split: NamedSplit = NamedSplit('train'), fingerprint: typing.Optional[str] = None, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1337)

**パラメータ:**

generator ( --`Callable`): サンプルを`yields`するジェネレーター関数。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

cache_dir (`str`、*任意*、デフォルトは`"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

gen_kwargs(`dict`, *任意*) : `generator` 呼び出し可能オブジェクトに渡すキーワード引数です。`gen_kwargs` にシャードのリストを渡し、`num_proc` を 1 より大きく設定することで、シャード化されたデータセットを定義できます。

num_proc (`int`、*任意*、デフォルトは`None`) : データセットをローカルにダウンロードおよび生成する際のプロセス数です。データセットが複数のファイルで構成されている場合に役立ちます。マルチプロセッシングはデフォルトで無効です。`num_proc`が1より大きい場合、`gen_kwargs`内のすべてのリスト値は同じ長さでなければなりません。これらの値は、ジェネレーターへの呼び出し間で分割されます。シャード数は、`gen_kwargs`内の最も短いリストの長さと`num_proc`の最小値になります。

split ([NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)、デフォルトは`Split.TRAIN`) : データセットに割り当てられるスプリット名。

fingerprint (`str`, *任意*) : データセット ID を生成するために使用されるフィンガープリント。デフォルトでは、`fingerprint` はジェネレーター関数とすべての引数をハッシュ化して生成されますが、AI モデルのような大きなオブジェクトを使用している場合は遅くなる可能性があります。

- ****kwargs** (追加のキーワード引数) : `GeneratorConfig`に渡すキーワード引数。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

ジェネレーターからDatasetを作成します。

ジェネレーターからデータをロードし、データをArrow形式でディスクにキャッシュしてから、ディスク上のメモリマップドArrowデータからDatasetを返します。

例:

```py
>>> def gen():
...     yield {"text": "Good", "label": 0}
...     yield {"text": "Bad", "label": 1}
...
>>> ds = Dataset.from_generator(gen)
```

```py
>>> def gen(shards):
...     for shard in shards:
...         with open(shard) as f:
...             for line in f:
...                 yield {"line": line}
...
>>> shards = [f"data{i}.txt" for i in range(32)]
>>> ds = Dataset.from_generator(gen, gen_kwargs={"shards": shards})
```

#### data[[datasets.Dataset.data]]

```python
data()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2098)

データセットの基盤となるApache Arrowテーブル。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.data
MemoryMappedTable
text: string
label: int64
----
text: [["compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .","the soundtrack alone is worth the price of admission .","rodriguez does a splendid job of racial profiling hollywood style--casting excellent latin actors of all ages--a trend long overdue .","beneath the film's obvious determination to shock at any cost lies considerable skill and determination , backed by sheer nerve .","bielinsky is a filmmaker of impressive talent .","so beautifully acted and directed , it's clear that washington most certainly has a new career ahead of him if he so chooses .","a visual spectacle full of stunning images and effects .","a gentle and engrossing character study .","it's enough to watch huppert scheming , with her small , intelligent eyes as steady as any noir villain , and to enjoy the perfectly pitched web of tension that chabrol spins .","an engrossing portrait of uncompromising artists trying to create something original against the backdrop of a corporate music industry that only seems to care about the bottom line .",...,"ultimately , jane learns her place as a girl , softens up and loses some of the intensity that made her an interesting character to begin with .","ah-nuld's action hero days might be over .","it's clear why deuces wild , which was shot two years ago , has been gathering dust on mgm's shelf .","feels like nothing quite so much as a middle-aged moviemaker's attempt to surround himself with beautiful , half-naked women .","when the precise nature of matthew's predicament finally comes into sharp focus , the revelation fails to justify the build-up .","this picture is murder by numbers , and as easy to be bored by as your abc's , despite a few whopping shootouts .","hilarious musical comedy though stymied by accents thick as mud .","if you are into splatter movies , then you will probably have a reasonably good time with the salton sea .","a dull , simple-minded and stereotypical tale of drugs , death and mind-numbing indifference on the inner-city streets .","the feature-length stretch . . . strains the show's concept ."]]
label: [[1,1,1,1,1,1,1,1,1,1,...,0,0,0,0,0,0,0,0,0,0]]
```

#### cache_files[[datasets.Dataset.cache_files]]

```python
cache_files()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2118)

Apache Arrow テーブルで裏付けられているデータセットを含むキャッシュファイル。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.cache_files
[{'filename': '/root/.cache/huggingface/datasets/rotten_tomatoes_movie_review/default/1.0.0/40d411e45a6ce3484deed7cc15b82a53dad9a72aafd9f86f8f227134bec5ca46/rotten_tomatoes_movie_review-validation.arrow'}]
```

#### num_columns[[datasets.Dataset.num_columns]]

```python
num_columns()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2136)

データセットの列数。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.num_columns
2
```

#### num_rows[[datasets.Dataset.num_rows]]

```python
num_rows()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2151)

データセットの行数([Dataset.__len__()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.__len__)と同じ)。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.num_rows
1066
```

#### column_names[[datasets.Dataset.column_names]]

```python
column_names()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2168)

データセットの列の名前。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.column_names
['text', 'label']
```

#### shape[[datasets.Dataset.shape]]

```python
shape()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2183)

データセットの形状（列数、行数）。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.shape
(1066, 2)
```

#### unique[[datasets.Dataset.unique]]

```python
unique(column: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2200)

**パラメータ:**

column (`str`) : 列名（[column_names](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.column_names)ですべての列名をリスト表示できます）。

**戻り値:** `list`

指定されたカラムの一意の要素のリスト。

カラム内の一意の要素のリストを返します。

これは低レベルのバックエンドで実装されており、そのため非常に高速です。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.unique('label')
[1, 0]
```

#### flatten[[datasets.Dataset.flatten]]

```python
flatten(new_fingerprint: typing.Optional[str] = None, max_depth = 16)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2306)

**パラメータ:**

new_fingerprint (`str`, *任意*) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

フラット化されたカラムを持つデータセットのコピー。

テーブルをフラットにします。struct 型の各カラムは、struct のフィールドごとに1カラムずつにフラット化されます。その他のカラムは変更されません。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("rajpurkar/squad", split="train")
>>> ds.features
{'id': Value('string'),
 'title': Value('string'),
 'context': Value('string'),
 'question': Value('string'),
 'answers': {'text': List(Value('string')),
 'answer_start': List(Value('int32'))}}
>>> ds = ds.flatten()
>>> ds
Dataset({
    features: ['id', 'title', 'context', 'question', 'answers.text', 'answers.answer_start'],
    num_rows: 87599
})
```

#### キャスト[[datasets.Dataset.cast]]

```python
cast(features: Features, batch_size: typing.Optional[int] = 1000, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, num_proc: typing.Optional[int] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2353)

**パラメータ:**

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)) : データセットをキャストする新しい特徴量。特徴量のフィールド名は、現在の列名と一致する必要があります。また、データ型も、ある型から別の型へ変換可能である必要があります。`str` <-> `ClassLabel` のような非自明な変換を行う場合は、[map()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.map) を使用して Dataset を更新してください。

batch_size (`int`、デフォルトは`1000`) : castに提供されるバッチあたりのサンプル数。`batch_size <= 0`または`batch_size == None`の場合、データセット全体を単一のバッチとしてcastに提供します。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

load_from_cache_file (`bool`、キャッシュが有効な場合はデフォルトで`True`) : `function`の現在の計算を保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

cache_file_name (`str`, *任意*, デフォルトは `None`) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、計算結果を保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると[map()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.map)実行中の一時メモリ消費量が少なくなります。

num_proc (`int`、*任意*、デフォルトは`None`) : マルチプロセッシングのプロセス数。デフォルトではマルチプロセッシングを使用しません。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

キャストされた特徴量を持つデータセットのコピー。

データセットを新しい特徴量のセットにキャストします。

例:

```py
>>> from datasets import load_dataset, ClassLabel, Value
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds.features.copy()
>>> new_features['label'] = ClassLabel(names=['bad', 'good'])
>>> new_features['text'] = Value('large_string')
>>> ds = ds.cast(new_features)
>>> ds.features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```

#### cast_column[[datasets.Dataset.cast_column]]

```python
cast_column(column: str, feature: typing.Union[dict, list, tuple, datasets.features.features.Value, datasets.features.features.ClassLabel, datasets.features.translation.Translation, datasets.features.translation.TranslationVariableLanguages, datasets.features.features.LargeList, datasets.features.features.List, datasets.features.features.Array2D, datasets.features.features.Array3D, datasets.features.features.Array4D, datasets.features.features.Array5D, datasets.features.audio.Audio, datasets.features.image.Image, datasets.features.mesh.Mesh, datasets.features.video.Video, datasets.features.pdf.Pdf, datasets.features.nifti.Nifti, datasets.features.bio_sequence.BioSequence, datasets.features.bio_structure.BioStructure], new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2437)

**パラメータ:**

column (`str`) : 列名。

feature (`FeatureType`) : ターゲット特徴量。

new_fingerprint (`str`, *任意*) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

デコード用にカラムをfeatureにキャストします。

例:

```py
>>> from datasets import load_dataset, ClassLabel
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> ds = ds.cast_column('label', ClassLabel(names=['bad', 'good']))
>>> ds.features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('string')}
```

#### remove_columns[[datasets.Dataset.remove_columns]]

```python
remove_columns(column_names: typing.Union[str, list[str]], new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2480)

**パラメータ:**

column_names (`Union[str, List[str]]`) : 削除するカラムの名前。

new_fingerprint (`str`, *任意*) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

削除するカラムを含まない、データセットオブジェクトのコピー。

データセットから1つ以上のカラムと、それに関連する特徴量を削除します。

`remove_columns` を使用して [map()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.map) で列を削除することもできますが、本メソッドは残りの列のデータをコピーしないため、より高速です。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.remove_columns('label')
Dataset({
    features: ['text'],
    num_rows: 1066
})
>>> ds = ds.remove_columns(column_names=ds.column_names) # Removing all the columns returns an empty dataset with the `num_rows` property set to 0
Dataset({
    features: [],
    num_rows: 0
})
```

#### rename_column[[datasets.Dataset.rename_column]]

```python
rename_column(original_column_name: str, new_column_name: str, new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2535)

**パラメータ:**

original_column_name (`str`) : 名前を変更するカラムの名前。

new_column_name (`str`) : 列の新しい名前。

new_fingerprint (`str`, *任意*) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

列名が変更されたデータセットのコピー。

dataset内のカラム名を変更し、元のカラムに関連付けられた特徴量を新しいカラム名の下に移動します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.rename_column('label', 'label_new')
Dataset({
    features: ['text', 'label_new'],
    num_rows: 1066
})
```

#### rename_columns[[datasets.Dataset.rename_columns]]

```python
rename_columns(column_mapping: dict, new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2601)

**パラメータ:**

column_mapping (`Dict[str, str]`) : 列名を新しい名前に変更するためのマッピング

new_fingerprint (`str`, *任意*) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

列名が変更されたデータセットのコピー

データセット内の複数の列名を変更し、元の列に関連する特徴量を新しい列名の下に移動します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.rename_columns({'text': 'text_new', 'label': 'label_new'})
Dataset({
    features: ['text_new', 'label_new'],
    num_rows: 1066
})
```

#### select_columns[[datasets.Dataset.select_columns]]

```python
select_columns(column_names: typing.Union[str, list[str]], new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2668)

**パラメータ:**

column_names (`Union[str, List[str]]`) : 保持するカラムの名前。

new_fingerprint (`str`, *任意*) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

選択されたカラムのみで構成される、データセットオブジェクトのコピー。

データセット内の1つ以上のカラムと、それに関連する特徴量を選択します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.select_columns(['text'])
>>> ds
Dataset({
    features: ['text'],
    num_rows: 1066
})
```

#### class_encode_column[[datasets.Dataset.class_encode_column]]

```python
class_encode_column(column: str, include_nulls: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2231)

**パラメータ:**

column (`str`) : キャストする列の名前（[column_names](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.column_names)ですべての列名をリストできます）

include_nulls (`bool`、デフォルトは`False`) : クラスラベルにnull値を含めるかどうか。`True`の場合、null値は`"None"`クラスラベルとしてエンコードされます。

与えられたカラムを[ClassLabel](/docs/datasets/main/ja/package_reference/main_classes#datasets.ClassLabel)としてキャストし、テーブルを更新します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("google/boolq", split="validation")
>>> ds.features
{'answer': Value('bool'),
 'passage': Value('string'),
 'question': Value('string')}
>>> ds = ds.class_encode_column('answer')
>>> ds.features
{'answer': ClassLabel(num_classes=2, names=['False', 'True']),
 'passage': Value('string'),
 'question': Value('string')}
```

#### __len__[[datasets.Dataset.__len__]]

```python
__len__()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2724)

データセットの行数。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.__len__
<bound method Dataset.__len__ of Dataset({
    features: ['text', 'label'],
    num_rows: 1066
})>
```

#### __iter__[[datasets.Dataset.__iter__]]

```python
__iter__()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2741)

例を反復します。

[Dataset.set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_format)でフォーマットが設定されている場合、選択されたフォーマットで行が返されます。

#### iter[[datasets.Dataset.iter]]

```python
iter(batch_size: int, drop_last_batch: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2770)

**パラメータ:**

batch_size (`int`) : 各バッチのサイズ。

drop_last_batch (`bool`、デフォルトは *False*) : batch_size より小さい最後のバッチを破棄するかどうか

サイズが*batch_size*のバッチを反復します。

If a formatting is set with [*~datasets.Dataset.set_format*] rows will be returned with the selected format.

#### formatted_as[[datasets.Dataset.formatted_as]]

```python
formatted_as(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2814)

**パラメータ:**

type (`str`, *任意*) : `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']` から選択された出力型。`None` は `__getitem__`` が Python オブジェクトを返すことを意味します（デフォルト）。

columns (`List[str]`、*任意*) : 出力でフォーマットするカラム。`None` は `__getitem__` がすべてのカラムを返すことを意味します（デフォルト）。

output_all_columns (`bool`、デフォルトは`False`) : 出力に、フォーマットされていない列も（Pythonオブジェクトとして）保持します。

- ****format_kwargs** (追加のキーワード引数) : `np.array`、`torch.tensor`、または `tensorflow.ragged.constant` のような変換関数に渡されるキーワード引数。

`with` 文で使用します。`__getitem__` の戻り値の形式（型とカラム）を設定します。

#### set_format[[datasets.Dataset.set_format]]

```python
set_format(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2846)

**パラメータ:**

type (`str`, *任意*) : `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']` から選択された出力型。`None` は、`__getitem__` が Python オブジェクトを返すことを意味します（デフォルト）。

columns (`List[str]`、*任意*) : 出力でフォーマットするカラム。`None` は `__getitem__` がすべてのカラムを返すことを意味します（デフォルト）。

output_all_columns (`bool`、デフォルトは`False`) : 出力に、フォーマットされていない列も（Pythonオブジェクトとして）保持します。

- ****format_kwargs** (追加のキーワード引数) : `np.array`、`torch.tensor`、または `tensorflow.ragged.constant` のような変換関数に渡されるキーワード引数。

`__getitem__`の戻り値の形式（型とカラム）を設定します。データの整形はオンザフライで適用されます。形式の`type`（例: "numpy"）は、`__getitem__`を使用する際にバッチを整形するために使用されます。また、[set_transform()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_transform)を使用してカスタム変換で整形することも可能です。

`set_format`を呼び出した後で[map()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.map)を呼び出すことも可能です。`map`は新しい列を追加する可能性があるため、フォーマットされた列のリスト

更新されます。この場合、`map` をデータセットに適用して新しい列を追加すると、その列は次のようにフォーマットされます:

```
new formatted columns = (all columns - previously unformatted columns)
```

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds.set_format(type='numpy', columns=['text', 'label'])
>>> ds.format
{'type': 'numpy',
'format_kwargs': {},
'columns': ['text', 'label'],
'output_all_columns': False}
```

#### set_transform[[datasets.Dataset.set_transform]]

```python
set_transform(transform: typing.Optional[typing.Callable], columns: typing.Optional[list] = None, output_all_columns: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2954)

**パラメータ:**

transform (`Callable`, *任意*) : ユーザー定義のフォーマット変換。[set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_format)で定義されたフォーマットを置き換えます。フォーマット関数は、バッチ（`dict`として）を入力に取り、バッチを返す呼び出し可能なオブジェクトです。この関数は、`__getitem__`でオブジェクトを返す直前に適用されます。

columns (`List[str]`、*任意*) : 出力でフォーマットするカラムを指定します。指定した場合、transform の入力バッチにはこれらのカラムのみが含まれます。

output_all_columns (`bool`、デフォルトは`False`) : 出力にフォーマットされていないカラムも（Pythonオブジェクトとして）保持します。Trueに設定すると、変換の出力とともに他のフォーマットされていないカラムも保持されます。

この transform を使用して `__getitem__` の返却形式を設定します。`__getitem__` が呼び出された際に、バッチに対してこの transform がオンザフライで適用されます。[set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_format) と同様に、[reset_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.reset_format) を使用してリセットできます。

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained('bert-base-uncased')
>>> def encode(batch):
...     return tokenizer(batch['text'], padding=True, truncation=True, return_tensors='pt')
>>> ds.set_transform(encode)
>>> ds[0]
{'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1]),
 'input_ids': tensor([  101, 29353,  2135, 15102,  1996,  9428, 20868,  2890,  8663,  6895,
         20470,  2571,  3663,  2090,  4603,  3017,  3008,  1998,  2037, 24211,
         5637,  1998, 11690,  2336,  1012,   102]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0])}
```

#### reset_format[[datasets.Dataset.reset_format]]

```python
reset_format()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2925)

`__getitem__`の戻り値の形式をPythonオブジェクトおよび全カラムにリセットします。

`self.set_format()` と同じです

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds.set_format(type='numpy', columns=['input_ids', 'token_type_ids', 'attention_mask', 'label'])
>>> ds.format
{'columns': ['input_ids', 'token_type_ids', 'attention_mask', 'label'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'numpy'}
>>> ds.reset_format()
>>> ds.format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': None}
```

#### with_format[[datasets.Dataset.with_format]]

```python
with_format(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L2997)

**パラメータ:**

type (`str`, *任意*) : `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']` から選択された出力型。`None` は、`__getitem__` が Python オブジェクトを返すことを意味します（デフォルト）。

columns (`List[str]`、*任意*) : 出力でフォーマットするカラム。`None` は `__getitem__` がすべてのカラムを返すことを意味します（デフォルト）。

output_all_columns (`bool`、デフォルトは`False`) : 出力に、フォーマットされていない列も（Pythonオブジェクトとして）保持します。

- ****format_kwargs** (追加のキーワード引数) : `np.array`、`torch.tensor`、または `tensorflow.ragged.constant` のような変換関数に渡されるキーワード引数。

`__getitem__`の戻り値の形式（型とカラム）を設定します。データの整形はオンザフライで適用されます。形式の`type`（例: "numpy"）は、`__getitem__`を使用する際にバッチを整形するために使用されます。

It's also possible to use custom transforms for formatting using [with_transform()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.with_transform).

[set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_format)とは異なり、`with_format`は新しい[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)オブジェクトを返します。

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds.format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': None}
>>> ds = ds.with_format("torch")
>>> ds.format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'torch'}
>>> ds[0]
{'text': 'compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'label': tensor(1),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
        1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
        1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
 'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])}
```

#### with_transform[[datasets.Dataset.with_transform]]

```python
with_transform(transform: typing.Optional[typing.Callable], columns: typing.Optional[list] = None, output_all_columns: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L3068)

**パラメータ:**

transform (`Callable`、`optional`) : ユーザーが定義したフォーマット変換。[set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_format)で定義されたフォーマットを置き換えます。フォーマット関数は、バッチ（`dict`として）を入力に取り、バッチを返す呼び出し可能なオブジェクトです。この関数は、`__getitem__`でオブジェクトを返す直前に適用されます。

columns (`List[str]`, `optional`) : 出力で整形するカラムを指定します。指定した場合、transform の入力バッチにはこれらのカラムのみが含まれます。

output_all_columns (`bool`、デフォルトは`False`) : 出力にフォーマットされていないカラムも（Pythonオブジェクトとして）保持します。`True`に設定すると、変換の出力とともに他のフォーマットされていないカラムも保持されます。

この transform を使用して、`__getitem__` の返却形式を設定します。`__getitem__` が呼び出された際に、バッチに対してこの transform がオンザフライで適用されます。

[set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_format)と同様に、[reset_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.reset_format)を使用してリセットできます。

[set_transform()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_transform)とは異なり、`with_transform`は新しい[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)オブジェクトを返します。

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> def encode(example):
...     return tokenizer(example["text"], padding=True, truncation=True, return_tensors='pt')
>>> ds = ds.with_transform(encode)
>>> ds[0]
{'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1, 1, 1, 1]),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
         1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
         1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         0, 0, 0, 0, 0])}
```

#### __getitem__[[datasets.Dataset.__getitem__]]

```python
__getitem__(key)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L3144)

列（文字列名で）または行（整数インデックス、インデックスの反復可能オブジェクト、またはブール値で）をインデックス付けするために使用できます。

#### cleanup_cache_files[[datasets.Dataset.cleanup_cache_files]]

```python
cleanup_cache_files()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L3157)

**戻り値:** `int`

削除されたファイルの数。

現在使用中のキャッシュファイルがある場合はそれを除き、データセットのキャッシュディレクトリ内のすべてのキャッシュファイルを削除します。

このコマンドを実行する際は、他のプロセスが別のキャッシュファイルを使用していないことに注意してください。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.cleanup_cache_files()
10
```

#### map[[datasets.Dataset.map]]

```python
map(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_rank: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, drop_last_batch: bool = False, remove_columns: typing.Union[str, list[str], NoneType] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, features: typing.Optional[datasets.features.features.Features] = None, disable_nullable: bool = False, fn_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, suffix_template: str = '_{rank:05d}_of_{num_proc:05d}', new_fingerprint: typing.Optional[str] = None, desc: typing.Optional[str] = None, try_original_type: typing.Optional[bool] = True, on_mixed_types: typing.Optional[typing.Literal['use_json']] = 'use_json')
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L3204)

**パラメータ:**

function (`Callable`) : 以下のいずれかのシグネチャを持つ関数: - `batched=False` かつ `with_indices=False` かつ `with_rank=False` の場合、`function(example: Dict[str, Any]) -> Dict[str, Any]` - `batched=False` かつ `with_indices=True` および/または `with_rank=True` の場合、`function(example: Dict[str, Any], *extra_args) -> Dict[str, Any]` (それぞれ1つの追加引数) - `batched=True` かつ `with_indices=False` かつ `with_rank=False` の場合、`function(batch: Dict[str, List]) -> Dict[str, List]` - `batched=True` かつ `with_indices=True` および/または `with_rank=True` の場合、`function(batch: Dict[str, List], *extra_args) -> Dict[str, List]` (それぞれ1つの追加引数) 高度な使用法として、関数は `pyarrow.Table` を返すこともできます。関数が非同期の場合、`map` は関数を並列で実行します。また、関数が何も返さない (`None`) 場合、`map` は関数を実行し、データセットを変更せずに返します。関数が指定されない場合、恒等関数 `lambda x: x` がデフォルトとして使用されます。

with_indices (`bool`、デフォルトは`False`) : `function`にインデックスの例を提供します。この場合、`function`のシグネチャは`def function(example, idx[, rank]): ...`である必要があります。

with_rank (`bool`、デフォルトは`False`) : `function`にプロセスランクを渡します。この場合、`function`のシグネチャは`def function(example[, idx], rank): ...`である必要があります。

input_columns (`Optional[Union[str, List[str]]]`、デフォルトは`None`) : `function`に位置引数として渡す列を指定します。`None`の場合、フォーマットされたすべての列への`dict`マッピングが1つの引数として渡されます。

batched (`bool`、デフォルトは`False`) : `function`にバッチの例を提供します。

batch_size (`int`、*任意*、デフォルトは`1000`) : `batched=True`の場合、`function`にバッチごとに提供されるサンプル数。`batch_size <= 0`または`batch_size == None`の場合、`function`にデータセット全体を単一のバッチとして提供します。

drop_last_batch (`bool`、デフォルトは`False`) : batch_sizeより小さい最後のバッチを、関数で処理する代わりに破棄するかどうか。

remove_columns (`Optional[Union[str, List[str]]]`、デフォルトは`None`) : マッピング処理中に選択した列を削除します。列は、`function`の出力で例を更新する前に削除されます。つまり、`function`が`remove_columns`に名前が指定された列を追加する場合、これらの列は保持されます。

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、データセットをメモリ内に保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : `function`の現在の計算を保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

cache_file_name (`str`, *任意*, デフォルトは `None`) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、計算結果を保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると`map`実行中の一時メモリ消費量が少なくなります。

features (`Optional[datasets.Features]`、デフォルトは`None`) : 自動生成されるものではなく、特定のFeaturesを使用してキャッシュファイルを保存します。

disable_nullable (`bool`、デフォルトは`False`) : テーブル内のnull値を許可しないようにします。

fn_kwargs (`Dict`、*任意*、デフォルトは`None`) : `function`に渡すキーワード引数。

num_proc (`int`, *任意*、デフォルトは `None`) : マルチプロセッシングに使用するプロセスの数。 - `None` または `0` の場合、マルチプロセッシングは使用されず、操作はメインプロセスで実行されます。 - `1` より大きい場合、1 つ以上のワーカープロセスを使用してデータを並列で処理します。注: マルチプロセッシングが正しく動作するには、`map()` に渡される関数が pickle 可能である必要があります（つまり、モジュールのトップレベルで定義された関数を優先し、他の関数やクラス内で定義された関数は避けてください）。 suffix_template (`str`): `cache_file_name` が指定されている場合、このサフィックスが各ファイルのベース名の末尾に追加されます。デフォルトは `"_{rank:05d}_of_{num_proc:05d}"` です。例えば、`cache_file_name` が "processed.arrow" で、`rank=1` かつ `num_proc=4` の場合、デフォルトのサフィックスでは結果ファイルは `"processed_00001_of_00004.arrow"` になります。

new_fingerprint (`str`、*任意*、デフォルトは`None`) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

desc (`str`、*任意*、デフォルトは`None`) : マッピング処理中にプログレスバーと併せて表示される、意味のある説明です。

try_original_type (`Optional[bool]`、デフォルトは`True`) : 元の列の型を維持しようとします（例: int32 -> int32）。常に新しい型を推論したい場合は False に設定してください。

on_mixed_types (`Literal["use_json"]`、*任意*、デフォルトは`None`) : "use_json"の場合、混合型のフィールド、つまり事前定義されたスキーマを持たない非構造化データを含むフィールドにJson()型を使用します。この場合、混合型のフィールドはJson()に設定されます。これにより、文字列/整数/浮動小数点数の混合を含むリストや、任意の値型を持つ辞書を読み込むことが可能になります。

テーブル内のすべての例に個別またはバッチ単位で関数を適用して、テーブルを更新します。関数がすでに存在するカラムを返す場合、そのカラムは上書きされます。

`batched` パラメータで、関数をバッチ処理にするかどうかを指定できます:

- `False`の場合、関数は1つの例を受け取り、1つの例を返す必要があります。例は辞書であり、例えば`{"text": "Hello there !"}`です。
- `True` かつ `batch_size` が 1 の場合、この関数は 1 つのサンプルのバッチを入力として受け取り、1 つ以上のサンプルを含むバッチを返すことができます。バッチは辞書であり、例えば 1 つのサンプルのバッチは `{"text": ["Hello there !"]}` のようになります。
- `True` かつ `batch_size` が `n > 1` の場合、この関数は `n` 個のサンプルのバッチを入力として受け取り、`n` 個のサンプルを含むバッチ、または任意の数のサンプルを含むバッチを返すことができます。最後のバッチは `n` 個未満のサンプルを含む場合があります。バッチは辞書であり、例えば `n` 個のサンプルのバッチは `{"text": ["Hello there !"] * n}` のようになります。

関数が非同期の場合、`map`は最大1,000回の同時呼び出しで関数を並列実行します。同時に実行できる操作の最大数を設定したい場合は、関数内で`asyncio.Semaphore`を使用することをお勧めします。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> ds[0:3]["text"]
['Review: compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'Review: the soundtrack alone is worth the price of admission .',
 'Review: rodriguez does a splendid job of racial profiling hollywood style--casting excellent latin actors of all ages--a trend long overdue .']

# process a batch of examples
>>> ds = ds.map(lambda example: tokenizer(example["text"]), batched=True)
# set number of processors
>>> ds = ds.map(add_prefix, num_proc=4)
```

#### フィルター[[datasets.Dataset.filter]]

```python
filter(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_rank: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, fn_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, suffix_template: str = '_{rank:05d}_of_{num_proc:05d}', new_fingerprint: typing.Optional[str] = None, desc: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4137)

**パラメータ:**

function (`Callable`) : 以下のいずれかのシグネチャを持つ Callable: - `batched=False` かつ `with_indices=False` かつ `with_rank=False` の場合、`function(example: Dict[str, Any]) -> bool` - `batched=False` かつ `with_indices=True` および/または `with_rank=True` の場合、`function(example: Dict[str, Any], *extra_args) -> bool` (それぞれ 1 つの追加引数) - `batched=True` かつ `with_indices=False` かつ `with_rank=False` の場合、`function(batch: Dict[str, List]) -> List[bool]` - `batched=True` かつ `with_indices=True` および/または `with_rank=True` の場合、`function(batch: Dict[str, List], *extra_args) -> List[bool]` (それぞれ 1 つの追加引数) 関数が非同期の場合、`filter` は関数を並列で実行します。関数が指定されない場合、常に `True` を返す関数 `lambda x: True` がデフォルトとして使用されます。

with_indices (`bool`、デフォルトは`False`) : `function`にインデックスの例を提供します。この場合、`function`のシグネチャは`def function(example, idx[, rank]): ...`である必要があります。

with_rank (`bool`、デフォルトは`False`) : `function`にプロセスランクを渡します。この場合、`function`のシグネチャは`def function(example[, idx], rank): ...`である必要があります。

input_columns (`str` または `List[str]`、*省略可能*) : `function` に位置引数として渡す列を指定します。`None` の場合、すべての整形済み列へのマッピングを含む `dict` が 1 つの引数として渡されます。

batched (`bool`、デフォルトは`False`) : `function`にバッチの例を提供します。

batch_size (`int`, *任意*, デフォルトは `1000`) : `batched = True` の場合、`function` に渡すバッチあたりのサンプル数。`batched = False` の場合、バッチあたり1つのサンプルが `function` に渡されます。`batch_size <= 0` または `batch_size == None` の場合、データセット全体を単一のバッチとして `function` に渡します。

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、データセットをメモリ内に保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : `function`の現在の計算を保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

cache_file_name (`str`, *任意*) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、計算結果を保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると`map`実行中の一時メモリ消費量が少なくなります。

fn_kwargs (`dict`, *任意*) : `function`に渡すキーワード引数。

num_proc (`int`, *optional*, デフォルトは `None`) : マルチプロセッシングに使用するプロセスの数です。 - `None` または `0` の場合、マルチプロセッシングは使用されず、操作はメインプロセスで実行されます。 - `1` より大きい場合、1 つ以上のワーカープロセスを使用してデータを並列で処理します。注: マルチプロセッシングが正しく動作するには、`map()` に渡される関数が picklable である必要があります（つまり、モジュールのトップレベルで定義された関数を優先し、他の関数やクラス内で定義された関数は避けてください）。

suffix_template (`str`) : `cache_file_name`が指定されている場合、このサフィックスが各ファイルのベース名の末尾に追加されます。例えば、`cache_file_name`が`"processed.arrow"`の場合、`rank = 1`かつ`num_proc = 4`であれば、デフォルトのサフィックス（デフォルトは`_{rank:05d}_of_{num_proc:05d}`）では、結果として生成されるファイルは`"processed_00001_of_00004.arrow"`になります。

new_fingerprint (`str`, *任意*) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

desc (`str`、*任意*、デフォルトは`None`) : サンプルをフィルタリングしている間、プログレスバーとともに表示される意味のある説明。

filter関数をテーブル内のすべての要素にバッチ単位で適用し、フィルター関数に一致するサンプルのみを含むようにテーブルを更新します。

関数が非同期の場合、`filter`は最大1000回の同時呼び出し（設定可能）で関数を並列実行します。同時に実行できる操作の最大数を設定したい場合は、関数内で`asyncio.Semaphore`を使用することをお勧めします。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.filter(lambda x: x["label"] == 1)
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 533
})
```

#### 選択[[datasets.Dataset.select]]

```python
select(indices: Iterable, keep_in_memory: bool = False, indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4364)

**パラメータ:**

indices (`range`、`list`、`iterable`、`ndarray`または`Series`) : インデックス付け用の整数インデックスの範囲、リスト、または1次元配列。インデックスが連続する範囲に対応する場合、Arrow テーブルは単純にスライスされます。ただし、連続しないインデックスのリストを渡すとインデックスのマッピングが作成され、効率はかなり低下しますが、要求された行からなる Arrow テーブルを再作成するよりも速いままです。

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、インデックスのマッピングをメモリに保持します。

indices_cache_file_name (`str`, *任意*, デフォルトは `None`) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、インデックスのマッピングを保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると`map`実行中の一時メモリ消費量が少なくなります。

new_fingerprint (`str`、*任意*、デフォルトは`None`) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

インデックスのリスト/配列に従って行を選択し、新しいデータセットを作成します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.select(range(4))
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 4
})
```

#### sort[[datasets.Dataset.sort]]

```python
sort(column_names: typing.Union[str, collections.abc.Sequence[str]], reverse: typing.Union[bool, collections.abc.Sequence[bool]] = False, null_placement: str = 'at_end', keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4702)

**パラメータ:**

column_names (`Union[str, Sequence[str]]`) : 並べ替えに使用するカラム名。

reverse (`Union[bool, Sequence[bool]]`、デフォルトは`False`) : `True`の場合、昇順ではなく降順でソートします。単一のboolが指定された場合、その値はすべてのカラム名のソートに適用されます。それ以外の場合は、column_namesと同じ長さかつ順序を持つboolのリストを指定する必要があります。

null_placement (`str`、デフォルトは`at_end`) : `at_start`または`first`の場合は`None`の値を先頭に、`at_end`または`last`の場合は末尾に配置します

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、ソート済みインデックスをメモリに保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : ソート済みインデックスを保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

indices_cache_file_name (`str`, *任意*, デフォルトは `None`) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、ソート済みインデックスを保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。値を大きくするとキャッシュファイルは小さくなりますが、小さくすると一時メモリ消費量が少なくなります。

new_fingerprint (`str`、*任意*、デフォルトは`None`) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、新しいフィンガープリントは、以前のフィンガープリントと変換引数のハッシュを使用して計算されます

1つの列または複数の列に基づいてソートされた新しいデータセットを作成します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset('cornell-movie-review-data/rotten_tomatoes', split='validation')
>>> ds['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
>>> sorted_ds = ds.sort('label')
>>> sorted_ds['label'][:10]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> another_sorted_ds = ds.sort(['label', 'text'], reverse=[True, False])
>>> another_sorted_ds['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
```

#### シャッフル[[datasets.Dataset.shuffle]]

```python
shuffle(seed: typing.Optional[int] = None, generator: typing.Optional[numpy.random._generator.Generator] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4830)

**パラメータ:**

seed (`int`, *optional*) : `generator=None` の場合、デフォルトの BitGenerator を初期化するためのシードです。`None` の場合、OS から新しい予測不可能なエントロピーを取得します。`int` または `array_like[ints]` が渡された場合、SeedSequence に渡され、BitGenerator の初期状態を導出するために使用されます。

generator (`numpy.random.Generator`, *オプション*) : データセットの行の置換を計算するために使用する Numpy ランダム Generator。`generator=None`（デフォルト）の場合、`np.random.default_rng`（NumPy のデフォルト BitGenerator (PCG64)）を使用します。

keep_in_memory (`bool`、デフォルトは`False`) : シャッフルされたインデックスをキャッシュファイルに書き出さず、メモリ内に保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : シャッフルされたインデックスを保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

indices_cache_file_name (`str`, *任意*) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、シャッフルされたインデックスを保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると`map`実行中の一時メモリ消費量が少なくなります。

new_fingerprint (`str`、*任意*、デフォルトは`None`) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます。

行がシャッフルされた新しい Dataset を作成します。

現在、シャッフル処理ではNumPyの乱数生成器が使用されています。使用するNumPyのBitGeneratorを指定するか、NumPyのデフォルトの乱数生成器（PCG64）を開始するためのシードを指定できます。

Shuffling はインデックスのリスト `[0:len(my_dataset)]` をシャッフルして、インデックスのマッピングを作成します。ただし、[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset) にインデックスのマッピングが存在すると、速度が 10 倍遅くなる可能性があります。これは、インデックスのマッピングを使用して読み取る行のインデックスを取得する追加のステップが発生するためであり、最も重要なのは、データが連続したチャンクとして読み取られなくなるためです。速度を回復するには、インデックスのマッピングを削除する [Dataset.flatten_indices()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.flatten_indices) を使用して、ディスク上のデータセット全体を書き直す必要があります。

ただし、データセットのサイズによっては、これにはかなりの時間がかかる場合があります：

```python
my_dataset[0]  # fast
my_dataset = my_dataset.shuffle(seed=42)
my_dataset[0]  # up to 10x slower
my_dataset = my_dataset.flatten_indices()  # rewrite the shuffled dataset on disk as contiguous chunks of data
my_dataset[0]  # fast again
```

この場合、[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset) に切り替えて、その高速な近似シャッフル手法である [IterableDataset.shuffle()](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset.shuffle) を活用することを推奨します。

…は、シャードの順序をシャッフルし、データセットにシャッフルバッファを追加するだけです。これにより、データセットの速度が最適に保たれます。

```python
my_iterable_dataset = my_dataset.to_iterable_dataset(num_shards=128)
for example in enumerate(my_iterable_dataset):  # fast
    pass

shuffled_iterable_dataset = my_iterable_dataset.shuffle(seed=42, buffer_size=100)

for example in enumerate(shuffled_iterable_dataset):  # as fast as before
    pass
```

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

# set a seed
>>> shuffled_ds = ds.shuffle(seed=42)
>>> shuffled_ds['label'][:10]
[1, 0, 1, 1, 0, 0, 0, 0, 0, 0]
```

#### スキップ[[datasets.Dataset.skip]]

```python
skip(n: int)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4617)

**パラメータ:**

n (`int`) : 読み飛ばす要素の数。

最初の`n`個の要素をスキップする新しい[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)を作成します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
>>> ds = ds.skip(1)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'if you sometimes like to go to the movies to have fun , wasabi is a good place to start .'}]
```

#### take[[datasets.Dataset.take]]

```python
take(n: int)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4679)

**パラメータ:**

n (`int`) : 取得する要素の数。

最初の`n`要素のみを含む新しい[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)を作成します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> small_ds = ds.take(2)
>>> list(small_ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'}]
```

#### train_test_split[[datasets.Dataset.train_test_split]]

```python
train_test_split(test_size: typing.Union[float, int, NoneType] = None, train_size: typing.Union[float, int, NoneType] = None, shuffle: bool = True, stratify_by_column: typing.Optional[str] = None, seed: typing.Optional[int] = None, generator: typing.Optional[numpy.random._generator.Generator] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, train_indices_cache_file_name: typing.Optional[str] = None, test_indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, train_new_fingerprint: typing.Optional[str] = None, test_new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4967)

**パラメータ:**

test_size (`Union[float, int, None]`、*任意*) : テスト分割のサイズ。`float`の場合、`0.0`から`1.0`の範囲の値で、テスト分割に含めるデータセットの割合を表します。`int`の場合、テストサンプルの絶対数を表します。`None`の場合、値はtrain sizeの補集合に設定されます。`train_size`も`None`の場合、`0.25`に設定されます。

train_size (`Union[float, int, None]`、*任意*) : 学習用分割のサイズ。`float`の場合、`0.0`から`1.0`の範囲の値で、データセットのうち学習用分割に含める割合を表します。`int`の場合、学習サンプルの絶対数を表します。`None`の場合、テストサイズに対する補集合の値が自動的に設定されます。

shuffle (`bool`, *任意*, デフォルトは `True`) : データを分割する前にシャッフルするかどうか。

stratify_by_column (`str`、*任意*、デフォルトは`None`) : データの層別分割を実行するために使用するラベルの列名。

seed (`int`, *optional*) : `generator=None` の場合、デフォルトの BitGenerator を初期化するためのシードです。`None` の場合、OS から新しい予測不可能なエントロピーを取得します。`int` または `array_like[ints]` が渡された場合、SeedSequence に渡され、BitGenerator の初期状態を導出するために使用されます。

generator (`numpy.random.Generator`, *オプション*) : データセットの行の置換を計算するために使用する Numpy ランダム Generator。`generator=None`（デフォルト）の場合、`np.random.default_rng`（NumPy のデフォルト BitGenerator (PCG64)）を使用します。

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、スプリットのインデックスをメモリに保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : スプリットのインデックスを保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

train_cache_file_name (`str`, *任意*) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、train スプリットのインデックスを保存するために使用されます。

test_cache_file_name (`str`, *任意*) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、テスト分割のインデックスを保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると`map`実行中の一時メモリ消費量が少なくなります。

train_new_fingerprint (`str`、*任意*、デフォルトは`None`) : 変換後の新しいトレーニングセットのフィンガープリント。`None`の場合、新しいフィンガープリントは、以前のフィンガープリントと変換引数のハッシュを使用して計算されます

test_new_fingerprint (`str`、*任意*、デフォルトは`None`) : 変換後のテストセットの新しいフィンガープリント。`None`の場合、以前のフィンガープリントと変換引数のハッシュを使用して、新しいフィンガープリントが計算されます

2つのランダムなtrainとtestのサブセット（`train`および`test`の`Dataset`スプリット）を含む辞書（[datasets.DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)）を返します。スプリットは、`test_size`、`train_size`、`shuffle`に基づいてデータセットから作成されます。

このメソッドは、scikit-learnの`train_test_split`に似ています。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds = ds.train_test_split(test_size=0.2, shuffle=True)
DatasetDict({
    train: Dataset({
        features: ['text', 'label'],
        num_rows: 852
    })
    test: Dataset({
        features: ['text', 'label'],
        num_rows: 214
    })
})

# set a seed
>>> ds = ds.train_test_split(test_size=0.2, seed=42)

# stratified split
>>> ds = load_dataset("stanfordnlp/imdb",split="train")
Dataset({
    features: ['text', 'label'],
    num_rows: 25000
})
>>> ds = ds.train_test_split(test_size=0.2, stratify_by_column="label")
DatasetDict({
    train: Dataset({
        features: ['text', 'label'],
        num_rows: 20000
    })
    test: Dataset({
        features: ['text', 'label'],
        num_rows: 5000
    })
})
```

#### shard[[datasets.Dataset.shard]]

```python
shard(num_shards: int, index: int, contiguous: bool = True, keep_in_memory: bool = False, indices_cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L5250)

**パラメータ:**

num_shards (`int`) : データセットを分割するシャード数。

index (`int`) : 選択して返すシャード。

contiguous : (`bool`、デフォルトは`True`): シャードのインデックスとして連続するブロックを選択するかどうか。

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、データセットをメモリ内に保持します。

indices_cache_file_name (`str`, *任意*) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、各シャードのインデックスを保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : これはインデックスのマッピングのみに関係します。キャッシュファイルライターにおける1回の書き込み操作あたりのインデックス数です。この値は、処理中のメモリ使用量と処理速度の間の良いバランスです。値を大きくすると処理中のルックアップ回数が減り、値を小さくすると`map`実行中の一時メモリ消費量が少なくなります。

`num_shards`個に分割したデータセット分割から、`index`番目のシャードを返します。

これは決定論的にシャード化されます。`dataset.shard(n, i)` はデータセットを連続するチャンクに分割するため、処理後に簡単に元の順序で結合できます。`len(dataset) % n == l` の場合、最初の `l` 個のデータセットは長さが `(len(dataset) // n) + 1` となり、残りのデータセットは長さが `(len(dataset) // n)` となります。`datasets.concatenate_datasets([dset.shard(n, i) for i in range(n)])` は、元のデータセットと同じ順序を持つデータセットを返します。

注: `len(dataset)` の要素数以下である必要があります。

一方、`dataset.shard(n, i, contiguous=False)` は、インデックス mod `n = i` となるデータセットのすべての要素を含みます。

`shuffle` のようなランダム化演算子を使用する前に、必ずシャード化してください。シャード化演算子は、データセットのパイプラインの早い段階で使用するのが望ましいです。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 1066
})
>>> ds = ds.shard(num_shards=2, index=0)
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 533
})
```

#### repeat[[datasets.Dataset.repeat]]

```python
repeat(num_times: int)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4647)

**パラメータ:**

num_times (`int`) : データセットを繰り返す回数。

[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset) を新規作成し、基となるデータセットを`num_times` 回繰り返します。

itertools.repeatと同様に、1回だけ繰り返す場合は、完全なデータセットが返されます。

例:
```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds = ds.take(2).repeat(2)
>>> list(ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
```

#### to_tf_dataset[[datasets.Dataset.to_tf_dataset]]

```python
to_tf_dataset(batch_size: typing.Optional[int] = None, columns: typing.Union[str, list[str], NoneType] = None, shuffle: bool = False, collate_fn: typing.Optional[typing.Callable] = None, drop_remainder: bool = False, collate_fn_args: typing.Optional[dict[str, typing.Any]] = None, label_cols: typing.Union[str, list[str], NoneType] = None, prefetch: bool = True, num_workers: int = 0, num_test_batches: int = 20)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L336)

**パラメータ:**

batch_size (`int`, *optional*) : データセットから読み込むバッチのサイズ。デフォルトは`None`で、これはデータセットがバッチ化されないことを意味しますが、返されたデータセットは後で`tf_dataset.batch(batch_size)`によってバッチ化できます。

columns (`List[str]` または `str`、*任意*) : `tf.data.Dataset` に読み込むデータセットの列です。`collate_fn` によって作成され、元のデータセットに存在しない列名も使用できます。

shuffle(`bool`、デフォルトは`False`) : データセットを読み込む際に、順序をシャッフルします。学習には`True`、検証/評価には`False`を推奨します。

drop_remainder(`bool`、デフォルトは`False`) : データセットの読み込み時に、最後の不完全なバッチを破棄します。これにより、データセットが生成するすべてのバッチが、バッチ次元において同じ長さを持つことが保証されます。

collate_fn(`Callable`, *任意*) : サンプルのリストをバッチにまとめる（コラートする）ための関数または呼び出し可能なオブジェクト（`DataCollator` など）。

collate_fn_args (`Dict`, *任意*) : `collate_fn`に渡すキーワード引数の任意の`dict`。

label_cols (`List[str]` または `str`、デフォルトは `None`) : ラベルとして読み込む Dataset のカラムです。多くのモデルは Keras に損失の計算を委ねるのではなく、内部で損失を計算します。その場合、入力 `columns` にラベルが含まれている限り、ここでラベルを渡すことは任意です。

prefetch (`bool`、デフォルトは`True`) : データローダーを別スレッドで実行し、トレーニング用のバッチの小さなバッファを維持するかどうか。モデルがトレーニングを実行している間にバックグラウンドでデータをロードできるようにするため、パフォーマンスを向上させます。

num_workers (`int`、デフォルトは`0`) : データセットの読み込みに使用するワーカーの数。

num_test_batches (`int`、デフォルトは`20`) : データセットの出力シグネチャを推論するために使用するバッチ数。この数値が大きいほどシグネチャは正確になりますが、データセットの作成に要する時間も長くなります。

**戻り値:**

`tf.data.Dataset`

Create a `tf.data.Dataset` from the underlying Dataset. This `tf.data.Dataset` will load and collate batches from the Dataset, and is suitable for passing to methods like `model.fit()` or `model.predict()`. The dataset will yield `dicts` for both inputs and labels unless the `dict` would contain only a single key, in which case a raw `tf.Tensor` is yielded instead.

例:

```py
>>> ds_train = ds["train"].to_tf_dataset(
...    columns=['input_ids', 'token_type_ids', 'attention_mask', 'label'],
...    shuffle=True,
...    batch_size=16,
...    collate_fn=data_collator,
... )
```

#### push_to_hub[[datasets.Dataset.push_to_hub]]

```python
push_to_hub(repo_id: str, config_name: str = 'default', set_default: typing.Optional[bool] = None, split: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, commit_message: typing.Optional[str] = None, commit_description: typing.Optional[str] = None, private: typing.Optional[bool] = None, token: typing.Optional[str] = None, revision: typing.Optional[str] = None, create_pr: typing.Optional[bool] = False, max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[int] = None, embed_external_files: bool = True, num_proc: typing.Optional[int] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L6077)

**パラメータ:**

repo_id (`str`) : 以下の形式で、プッシュ先リポジトリのID: `<user>/<dataset_name>` または `<org>/<dataset_name>`。ログインユーザーのネームスペースをデフォルトとする `<dataset_name>` も受け付けます。また、バケット内の場所、例えば `buckets/<user_or_org>/<bucket_name>/...` のような形式も指定できます。

config_name (`str`、デフォルトは "default") : データセットの設定名（またはサブセット）です。デフォルトは "default" です。

set_default (`bool`, *任意*) : この設定をデフォルトとして設定するかどうか。設定しない場合、デフォルト設定は "default" という名前のものになります。

split (`str`, *任意*) : そのデータセットに割り当てられるスプリットの名前。デフォルトは`self.split`です。

data_dir (`str`, *任意*) : アップロードされたデータファイルを含むディレクトリ名。`config_name`が"default"と異なる場合はその値、そうでない場合は"data"がデフォルトです。

commit_message (`str`, *任意*) : push 時にコミットするメッセージ。デフォルトは `"Upload dataset"` です。

commit_description (`str`, *任意*) : 作成されるコミットの説明。また、PRが作成される場合(`create_pr`がTrue)には、PRの説明も含まれます。

private (`bool`, *optional*) : リポジトリを非公開にするかどうか。`None`（デフォルト）の場合、組織のデフォルトが非公開でない限り、リポジトリは公開になります。リポジトリが既に存在する場合、この値は無視されます。

token (`str`, *任意*) : Hugging Face Hub 用の任意の認証トークンです。トークンが渡されない場合、`hf auth login` でログインした際にローカルに保存されたトークンがデフォルトで使用されます。トークンが渡されず、かつユーザーがログインしていない場合は、エラーが発生します。

revision (`str`, *任意*) : アップロードしたファイルをプッシュするブランチ。デフォルトでは`"main"`ブランチです。

create_pr (`bool`, *任意*, デフォルトは `False`) : アップロードしたファイルで PR を作成するか、直接コミットするかどうか。

max_shard_size (`int` または `str`、*任意*、デフォルトは `"500MB"`) : ハブにアップロードするデータセットのシャードの最大サイズ。文字列で指定する場合は、数字の後に単位（`"5MB"` など）を続ける必要があります。

num_shards (`int`, *任意*) : 書き出すシャードの数。デフォルトでは、シャード数は`max_shard_size`に依存します。

embed_external_files (`bool`、デフォルトは`True`) : シャードにファイルのバイト列を埋め込むかどうか。具体的には、プッシュの前に、以下の型のフィールドに対して次の処理を行います。 - [Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio)および[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image): ローカルパス情報を削除し、ファイルの内容をParquetファイルに埋め込みます。

num_proc (`int`、*optional*、デフォルトは`None`) : データセットの準備とアップロード時のプロセス数です。データセットが多数のサンプルや埋め込むメディアファイルで構成されている場合に役立ちます。HF への高速アップロードのための Rust クライアントである hf_xet と連携するために "spawn" コンテキストを使用します。マルチプロセッシングはデフォルトで無効です。

**戻り値:**

huggingface_hub.CommitInfo

Parquet データセットとしてハブにプッシュします。データセットは HTTP リクエストを使用してプッシュされるため、git または git-lfs のインストールは不要です。

生成される Parquet ファイルは、デフォルトで自己完結型です。データセットに [Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)、[Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio) または [Video](/docs/datasets/main/ja/package_reference/main_classes#datasets.Video) データが含まれている場合、Parquet ファイルには画像や音声ファイルのバイトが保存されます。この動作を無効にするには、`embed_external_files` を `False` に設定してください。

例:

```python
>>> dataset.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset.push_to_hub("<organization>/<dataset_id>", num_shards=1024)
```

データセットに複数のスプリット（例：train/validation/test）がある場合：

```python
>>> train_dataset.push_to_hub("<organization>/<dataset_id>", split="train")
>>> val_dataset.push_to_hub("<organization>/<dataset_id>", split="validation")
>>> # later
>>> dataset = load_dataset("<organization>/<dataset_id>")
>>> train_dataset = dataset["train"]
>>> val_dataset = dataset["validation"]
```

データセットに新しい設定（またはサブセット）を追加したい場合（データセットに複数のタスク/バージョン/言語がある場合など）：

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```

#### save_to_disk[[datasets.Dataset.save_to_disk]]

```python
save_to_disk(dataset_path: typing.Union[str, bytes, os.PathLike], max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[int] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1781)

**パラメータ:**

dataset_path (`path-like`) : データセットが保存されるデータセットディレクトリの Path (例: `dataset/train`) またはリモート URI (例: `s3://my-bucket/dataset/train`)。

max_shard_size (`int` または `str`、*任意*、デフォルトは `"500MB"`) : ファイルシステムに保存されるデータセットのシャードの最大サイズです。文字列で指定する場合は、数字の後に単位（`"50MB"` など）を続ける必要があります。

num_shards (`int`, *optional*) : 書き出すシャードの数。デフォルトでは、`max_shard_size` と `num_proc` に基づいてシャード数が決定されます。

num_proc (`int`, *optional*) : データセットをローカルにダウンロードして生成する際のプロセス数。デフォルトではマルチプロセッシングは無効です。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

`fsspec.spec.AbstractFileSystem` の任意の実装を用いたファイルシステム、またはデータセットディレクトリにデータセットを保存します。

[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)、[Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio)、[Video](/docs/datasets/main/ja/package_reference/main_classes#datasets.Video)データの場合:

Image()、Audio()、Video()のデータはすべてarrowファイルに保存されます。パスやURLを保存する場合は、Value("string")型を使用してください。

例:

```py
>>> ds.save_to_disk("path/to/dataset/directory")
>>> ds.save_to_disk("path/to/dataset/directory", max_shard_size="1GB")
>>> ds.save_to_disk("path/to/dataset/directory", num_shards=1024)
```

#### load_from_disk[[datasets.Dataset.load_from_disk]]

```python
load_from_disk(dataset_path: typing.Union[str, bytes, os.PathLike], keep_in_memory: typing.Optional[bool] = None, storage_options: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1977)

**パラメータ:**

dataset_path (`path-like`) : データセットを読み込むデータセットディレクトリの Path (例: `"dataset/train"`) またはリモート URI (例: `"s3//my-bucket/dataset/train"`)

keep_in_memory (`bool`、デフォルトは`None`) : データセットをメモリ内にコピーするかどうか。`None`の場合、`datasets.config.IN_MEMORY_MAX_SIZE`をゼロ以外に設定して明示的に有効にしない限り、データセットはメモリ内にコピーされません。詳細は[パフォーマンスの改善](../cache#improve-performance)セクションを参照してください。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset) または [DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

- `dataset_path`がデータセットのディレクトリパスである場合、要求されたデータセットです。
- `dataset_path`がデータセットディレクトリのパスである場合、各スプリットを含む`datasets.DatasetDict`が返されます。

以前に`save_to_disk`を使用して保存されたデータセットを、データセットディレクトリから、または`fsspec.spec.AbstractFileSystem`の任意の実装によるファイルシステムから読み込みます。

例:

```py
>>> ds = load_from_disk("path/to/dataset/directory")
```

#### flatten_indices[[datasets.Dataset.flatten_indices]]

```python
flatten_indices(keep_in_memory: bool = False, cache_file_name: typing.Optional[str] = None, writer_batch_size: typing.Optional[int] = 1000, features: typing.Optional[datasets.features.features.Features] = None, disable_nullable: bool = False, num_proc: typing.Optional[int] = None, new_fingerprint: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L4285)

**パラメータ:**

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、データセットをメモリ内に保持します。

cache_file_name (`str`, *任意*, デフォルト `None`) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、計算結果を保存するために使用されます。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると`map`実行中の一時メモリ消費量が少なくなります。

features (`Optional[datasets.Features]`、デフォルトは`None`) : 自動生成されるものではなく、特定の[Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)を使用してキャッシュファイルを保存します。

disable_nullable (`bool`、デフォルトは`False`) : テーブルにnull値を許可します。

num_proc (`int`、省略可能、デフォルトは`None`) : キャッシュ生成時の最大プロセス数。すでにキャッシュ済みのシャードはシーケンシャルに読み込まれます

new_fingerprint (`str`、*任意*、デフォルトは`None`) : 変換後の新しいデータセットのフィンガープリント。`None`の場合、新しいフィンガープリントは、以前のフィンガープリントと変換引数のハッシュを使用して計算されます

インデックスのマッピングをフラット化して、新しい Dataset を作成し、キャッシュします。

#### to_csv[[datasets.Dataset.to_csv]]

```python
to_csv(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **to_csv_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L5327)

**パラメータ:**

path_or_buf (`PathLike` または `FileOrBuffer`) : ファイルへのパス（例: `file.csv`）、リモート URI（例: `hf://datasets/username/my_dataset_name/data.csv`）、または BinaryIO のいずれかです。指定された形式でデータセットが保存される先です。

batch_size (`int`, *optional*) : メモリに読み込み、一度に書き込むバッチのサイズ。デフォルトは`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

num_proc (`int`, *optional*) : マルチプロセッシングに使用するプロセス数。デフォルトではマルチプロセッシングを使用しません。この場合、`batch_size`のデフォルト値は`datasets.config.DEFAULT_MAX_BATCH_SIZE`ですが、十分な計算リソースがある場合は、デフォルト値の5倍や10倍に設定しても構いません。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

- ****to_csv_kwargs** (追加のキーワード引数) : [`pandas.DataFrame.to_csv`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html) に渡すパラメータ。    現在、`index` は指定されていない場合、デフォルトで `False` になります。  インデックスを書き出したい場合は、`index=True` を渡し、`index_label` を渡してインデックス列の名前も設定してください。

**戻り値:** `int`

書き込まれた文字数またはバイト数。

csvにデータセットをエクスポートします

例:

```py
>>> ds.to_csv("path/to/dataset/directory")
```

#### to_pandas[[datasets.Dataset.to_pandas]]

```python
to_pandas(batch_size: typing.Optional[int] = None, batched: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L5526)

**パラメータ:**

batch_size (`int`, *optional*) : `batched`が`True`の場合のバッチサイズ（行数）です。デフォルト値は`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

batched (`bool`) : `True`に設定すると、`batch_size`行のバッチとしてデータセットを生成するジェネレーターを返します。デフォルトは`False`（一度にデータセット全体を返します）。

**戻り値:**

`pandas.DataFrame`または`Iterator[pandas.DataFrame]`

`pandas.DataFrame` としてデータセットを返します。大規模なデータセットの場合は、ジェネレーターを返すこともできます。

例:

```py
>>> ds.to_pandas()
```

#### to_dict[[datasets.Dataset.to_dict]]

```python
to_dict(batch_size: typing.Optional[int] = None, batched: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L5386)

**パラメータ:**

batch_size (`int`, *optional*) : `batched`が`True`の場合のバッチサイズ（行数）です。デフォルト値は`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

batched (`bool`) : `True`に設定すると、`batch_size`行のバッチとしてデータセットを生成するジェネレーターを返します。デフォルトは`False`（一度にデータセット全体を返します）。

**戻り値:**

`dict`または`Iterator[dict]`

Pythonのdictとしてデータセットを返します。大規模なデータセットの場合は、ジェネレーターを返すこともできます。

例:

```py
>>> ds.to_dict()
```

#### to_json[[datasets.Dataset.to_json]]

```python
to_json(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **to_json_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L5451)

**パラメータ:**

path_or_buf (`PathLike` または `FileOrBuffer`) : ファイルへのパス（例: `file.json`）、リモート URI（例: `hf://datasets/username/my_dataset_name/data.json`）、または BinaryIO のいずれかです。指定された形式でデータセットが保存される先です。

batch_size (`int`, *optional*) : メモリに読み込み、一度に書き込むバッチのサイズ。デフォルトは`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

num_proc (`int`, *optional*) : マルチプロセッシングに使用するプロセス数。デフォルトではマルチプロセッシングを使用しません。この場合、`batch_size`のデフォルト値は`datasets.config.DEFAULT_MAX_BATCH_SIZE`ですが、十分な計算リソースがある場合は、デフォルト値の5倍や10倍に設定しても構いません。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

- ****to_json_kwargs** (additional keyword arguments) : Parameters to pass to pandas's [`pandas.DataFrame.to_json`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html). Default arguments are `lines=True` and `orient="records".  <Changed version="2.11.0">  The parameter `index` defaults to `False` if `orient` is `"split"` or `"table"`.  If you would like to write the index, pass `index=True`.  

**戻り値:** `int`

書き込まれた文字数またはバイト数。

JSON LinesまたはJSONにデータセットをエクスポートします。

デフォルトの出力形式は[JSON Lines](https://jsonlines.org/)です。[JSON](https://www.json.org)にエクスポートするには、`lines=False`引数と希望する`orient`を渡します。

例:

```py
>>> ds.to_json("path/to/dataset/directory/filename.jsonl")
```

#### to_parquet[[datasets.Dataset.to_parquet]]

```python
to_parquet(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **parquet_writer_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L5628)

**パラメータ:**

path_or_buf (`PathLike` または `FileOrBuffer`) : ファイルへのパス（例: `file.parquet`）、リモート URI（例: `hf://datasets/username/my_dataset_name/data.parquet`）、または BinaryIO のいずれかです。指定された形式でデータセットが保存される先です。

batch_size (`int`, *optional*) : メモリに読み込み、一度に書き込むバッチのサイズ。デフォルトでは、`datasets.config.MAX_ROW_GROUP_SIZE` で定義される「100MB」の最大非圧縮バイトサイズを目標とする行グループを使用します。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

- ****parquet_writer_kwargs** (追加のキーワード引数): PyArrowの`pyarrow.parquet.ParquetWriter`に渡すパラメータ。

**戻り値:** `int`

書き込まれた文字数またはバイト数。

データセットをparquetにエクスポートします

例:

```py
>>> ds.to_parquet("path/to/dataset/directory")
```

#### to_sql[[datasets.Dataset.to_sql]]

```python
to_sql(name: str, con: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')], batch_size: typing.Optional[int] = None, num_proc: typing.Optional[int] = None, **sql_writer_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L5668)

**パラメータ:**

name (`str`) : SQLテーブルの名前。

con (`str` または `sqlite3.Connection` または `sqlalchemy.engine.Connection` または `sqlalchemy.engine.Connection`) : データベースに書き込むために使用する[URI文字列](https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls)またはSQLite3/SQLAlchemyの接続オブジェクト。

batch_size (`int`, *optional*) : メモリに読み込み、一度に書き込むバッチのサイズ。デフォルトは`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

num_proc (`int`, *optional*) : マルチプロセッシングに使用するプロセス数。デフォルトではマルチプロセッシングを使用しません。この場合、`batch_size`のデフォルト値は`datasets.config.DEFAULT_MAX_BATCH_SIZE`ですが、十分な計算リソースがある場合は、デフォルト値の5倍や10倍に設定しても構いません。

- ****sql_writer_kwargs** (追加のキーワード引数): [`pandas.DataFrame.to_sql`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html) に渡すパラメータ。    現在、`index` は指定されていない場合、デフォルトで `False` になります。  インデックスを書き込みたい場合は、`index=True` を渡し、`index_label` を渡してインデックス列の名前も設定してください。

**戻り値:** `int`

書き込まれたレコードの数。

データセットをSQLデータベースにエクスポートします。

例:

```py
>>> # con provided as a connection URI string
>>> ds.to_sql("data", "sqlite:///my_own_db.sql")
>>> # con provided as a sqlite3 connection object
>>> import sqlite3
>>> con = sqlite3.connect("my_own_db.sql")
>>> with con:
...     ds.to_sql("data", con)
```

#### to_iterable_dataset[[datasets.Dataset.to_iterable_dataset]]

```python
to_iterable_dataset(num_shards: typing.Optional[int] = 1)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L5766)

**パラメータ:**

num_shards (`int`、デフォルトは`1`) : イテラブルなデータセットをインスタンス化する際に定義するシャードの数です。これは、大きなデータセットでシャッフルを適切に行うために特に有用であり、PyTorch の DataLoader を使用した高速な並列読み込みや、分散環境での処理を可能にするためにも役立ちます。シャードは[datasets.Dataset.shard()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.shard)を使用して定義されます。これはディスクに何も書き込まずに、データをスライスするだけです。

**戻り値:**

[datasets.IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

マップスタイルの[datasets.Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)から[datasets.IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)を取得します。これは[datasets.load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset)でストリーミングモードにデータセットを読み込むことと同等ですが、データがローカルファイルからストリーミングされるため、はるかに高速です。

Contrary to map-style datasets, iterable datasets are lazy and can only be iterated over (e.g. using a for loop). Since they are read sequentially in training loops, iterable datasets are much faster than map-style datasets. All the transformations applied to iterable datasets like filtering or processing are done on-the-fly when you start iterating over the dataset.

それでも、[datasets.IterableDataset.shuffle()](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset.shuffle) を使用してイテラブルなデータセットをシャッフルすることは可能です。これは高速な近似シャッフルであり、複数のシャードがあり、かつ十分に大きなバッファサイズを指定した場合に最も効果的に機能します。

最適な速度性能を得るには、データセットにインデックスのマッピングがないことを確認してください。マッピングが存在する場合、データは連続的に読み込まれず、場合によっては低速になる可能性があります。イテラブルデータセットに切り替える前に最適な速度を得るには、`ds = ds.flatten_indices()` を使用して、データを連続したチャンクとして書き出すことができます。

例:

基本的な使用方法:
```python
>>> ids = ds.to_iterable_dataset()
>>> for example in ids:
...     pass
```

遅延フィルタリングと処理を使用する場合:
```python
>>> ids = ds.to_iterable_dataset()
>>> ids = ids.filter(filter_fn).map(process_fn)  # will filter and process on-the-fly when you start iterating over the iterable dataset
>>> for example in ids:
...     pass
```

効率的なシャッフルを可能にするシャーディング:
```python
>>> ids = ds.to_iterable_dataset(num_shards=64)  # the dataset is split into 64 shards to be iterated over
>>> ids = ids.shuffle(buffer_size=10_000)  # will shuffle the shards order and use a shuffle buffer for fast approximate shuffling when you start iterating
>>> for example in ids:
...     pass
```

PyTorchのDataLoaderを使用する場合:
```python
>>> import torch
>>> ids = ds.to_iterable_dataset(num_shards=64)
>>> ids = ids.filter(filter_fn).map(process_fn)
>>> dataloader = torch.utils.data.DataLoader(ids, num_workers=4)  # will assign 64 / 4 = 16 shards to each worker to load, filter and process when you start iterating
>>> for example in ids:
...     pass
```

PyTorchのDataLoaderとシャッフルを使用する場合:
```python
>>> import torch
>>> ids = ds.to_iterable_dataset(num_shards=64)
>>> ids = ids.shuffle(buffer_size=10_000)  # will shuffle the shards order and use a shuffle buffer when you start iterating
>>> dataloader = torch.utils.data.DataLoader(ids, num_workers=4)  # will assign 64 / 4 = 16 shards from the shuffled list of shards to each worker when you start iterating
>>> for example in ids:
...     pass
```

PyTorch DDPのような分散環境で、PyTorchのDataLoaderとシャッフルを使用する場合

```python
>>> from datasets.distributed import split_dataset_by_node
>>> ids = ds.to_iterable_dataset(num_shards=512)
>>> ids = ids.shuffle(buffer_size=10_000, seed=42)  # will shuffle the shards order and use a shuffle buffer when you start iterating
>>> ids = split_dataset_by_node(ds, world_size=8, rank=0)  # will keep only 512 / 8 = 64 shards from the shuffled lists of shards when you start iterating
>>> dataloader = torch.utils.data.DataLoader(ids, num_workers=4)  # will assign 64 / 4 = 16 shards from this node's list of shards to each worker when you start iterating
>>> for example in ids:
...     pass
```

シャッフルと複数エポックを使用する場合:
```python
>>> ids = ds.to_iterable_dataset(num_shards=64)
>>> ids = ids.shuffle(buffer_size=10_000, seed=42)  # will shuffle the shards order and use a shuffle buffer when you start iterating
>>> for epoch in range(n_epochs):
...     ids.set_epoch(epoch)  # will use effective_seed = seed + epoch to shuffle the shards and for the shuffle buffer when you start iterating
...     for example in ids:
...         pass
```

PyTorchのDataLoaderを使用する場合や分散環境では、`IterableDataset.set_epoch()`も併せて使用してください。

#### add_faiss_index[[datasets.Dataset.add_faiss_index]]

```python
add_faiss_index(column: str, index_name: typing.Optional[str] = None, device: typing.Optional[int] = None, string_factory: typing.Optional[str] = None, metric_type: typing.Optional[int] = None, custom_index: typing.Optional[ForwardRef('faiss.Index')] = None, batch_size: int = 1000, train_size: typing.Optional[int] = None, faiss_verbose: bool = False, dtype = <class 'numpy.float32'>)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L6324)

**パラメータ:**

column (`str`) : インデックスに追加するベクトルの列。

index_name (`str`, *任意*) : インデックスの`index_name`/識別子です。これは[get_nearest_examples()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.get_nearest_examples)または[search()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.search)を呼び出す際に使用される`index_name`です。デフォルトでは`column`に対応します。

device (`Union[int, List[int]]`, *任意*) : 正の整数の場合、使用する GPU のインデックスです。負の整数の場合、すべての GPU を使用します。正の整数のリストが渡された場合、それらの GPU のみで実行します。デフォルトでは CPU を使用します。

string_factory (`str`, *任意*) : Faiss のインデックスファクトリに渡してインデックスを作成します。デフォルトのインデックスクラスは `IndexFlat` です。

metric_type (`int`, *任意*) : 指標の型。例: `faiss.METRIC_INNER_PRODUCT` または `faiss.METRIC_L2`。

custom_index (`faiss.Index`, *optional*) : 必要に応じてインスタンス化および設定済みのカスタム Faiss インデックス。

batch_size (`int`) : `FaissIndex`にベクトルを追加する際に使用するバッチサイズ。デフォルト値は`1000`です。

train_size (`int`, *optional*) : インデックスの学習ステップが必要な場合、インデックスの学習に使用されるベクトルの数を指定します。

faiss_verbose (`bool`、デフォルトは`False`) : Faissインデックスの冗長出力を有効にします。

dtype (`data-type`) : インデックス付けされる numpy 配列の dtype です。デフォルトは `np.float32` です。

Faiss を使用して高速な検索のための dense index を追加します。デフォルトでは、指定されたカラムのベクトルに対してインデックスが作成されます。GPU で実行する場合は `device` を指定できます（`device` は GPU のインデックスである必要があります）。Faiss に関する詳細は、こちらで確認できます:

- [文字列ファクトリ](https://github.com/facebookresearch/faiss/wiki/The-index-factory)の場合

例:

```python
>>> ds = datasets.load_dataset('community-datasets/crime_and_punish', split='train')
>>> ds_with_embeddings = ds.map(lambda example: {'embeddings': embed(example['line']}))
>>> ds_with_embeddings.add_faiss_index(column='embeddings')
>>> # query
>>> scores, retrieved_examples = ds_with_embeddings.get_nearest_examples('embeddings', embed('my new query'), k=10)
>>> # save index
>>> ds_with_embeddings.save_faiss_index('embeddings', 'my_index.faiss')

>>> ds = datasets.load_dataset('community-datasets/crime_and_punish', split='train')
>>> # load index
>>> ds.load_faiss_index('embeddings', 'my_index.faiss')
>>> # query
>>> scores, retrieved_examples = ds.get_nearest_examples('embeddings', embed('my new query'), k=10)
```

#### add_faiss_index_from_external_arrays[[datasets.Dataset.add_faiss_index_from_external_arrays]]

```python
add_faiss_index_from_external_arrays(external_arrays: array, index_name: str, device: typing.Optional[int] = None, string_factory: typing.Optional[str] = None, metric_type: typing.Optional[int] = None, custom_index: typing.Optional[ForwardRef('faiss.Index')] = None, batch_size: int = 1000, train_size: typing.Optional[int] = None, faiss_verbose: bool = False, dtype = <class 'numpy.float32'>)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L6404)

**パラメータ:**

external_arrays (`np.array`) : インデックスにライブラリ外部の配列を使用したい場合は、`external_arrays`を設定できます。指定された`column`内の配列ではなく、`external_arrays`を使用してFaissインデックスが作成されます。

index_name (`str`) : インデックスの`index_name`/識別子です。これは`index_name`として、[get_nearest_examples()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.get_nearest_examples)または[search()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.search)を呼び出す際に使用されます。

device （任意の `Union[int, List[int]]`、*optional*）: 正の整数の場合、使用する GPU のインデックスです。負の整数の場合、すべての GPU を使用します。正の整数のリストが渡された場合、それらの GPU のみで実行します。デフォルトでは CPU を使用します。

string_factory (`str`, *任意*) : Faiss のインデックスファクトリに渡してインデックスを作成します。デフォルトのインデックスクラスは `IndexFlat` です。

metric_type (`int`, *任意*) : 指標の型。例: `faiss.faiss.METRIC_INNER_PRODUCT` または `faiss.METRIC_L2`。

custom_index (`faiss.Index`, *optional*) : 必要に応じてインスタンス化および設定済みのカスタム Faiss インデックス。

batch_size (`int`, *optional*) : FaissIndex にベクトルを追加する際に使用するバッチサイズ。デフォルト値は 1000 です。

train_size (`int`, *optional*) : インデックスの学習ステップが必要な場合、インデックスの学習に使用されるベクトルの数を指定します。

faiss_verbose (`bool`、デフォルトは False) : Faiss インデックスの冗長出力を有効にします。

dtype (`numpy.dtype`) : インデックス付けされる numpy 配列の dtype。デフォルトは np.float32 です。

`external_arrays` のベクトルを使用してインデックスを作成し、Faiss を用いて高速な検索のために dense index を追加します。GPU で実行する場合は `device` を指定できます（`device` は GPU のインデックスである必要があります）。Faiss に関する詳細は、こちらで確認できます:

- [文字列ファクトリ](https://github.com/facebookresearch/faiss/wiki/The-index-factory)の場合

#### save_faiss_index[[datasets.Dataset.save_faiss_index]]

```python
save_faiss_index(index_name: str, file: typing.Union[str, pathlib.PurePath], storage_options: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L535)

**パラメータ:**

index_name (`str`) : インデックスの index_name/識別子です。`.get_nearest` または `.search` を呼び出す際に使用される index_name です。

file (`str`) : ディスク上のシリアライズされたfaissインデックスへのパス、またはリモートURI（例: `"s3://my-bucket/index.faiss"`）。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

FaissIndexをディスクに保存します。

#### load_faiss_index[[datasets.Dataset.load_faiss_index]]

```python
load_faiss_index(index_name: str, file: typing.Union[str, pathlib.PurePath], device: typing.Union[int, list[int], NoneType] = None, storage_options: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L553)

**パラメータ:**

index_name (`str`) : インデックスの index_name/識別子です。`.get_nearest` または `.search` を呼び出す際に使用される index_name です。

file (`str`) : ディスク上のシリアライズされたfaissインデックスへのパス、またはリモートURI（例: `"s3://my-bucket/index.faiss"`）。

device （任意の `Union[int, List[int]]`）: 正の整数の場合、使用する GPU のインデックスです。負の整数の場合、すべての GPU を使用します。正の整数のリストが渡された場合、それらの GPU のみで実行します。デフォルトでは CPU を使用します。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

FaissIndexをディスクから読み込みます。

追加の設定を行う場合は、`.get_index(index_name).faiss_index` を実行して faiss のインデックスオブジェクトにアクセスし、必要に応じて調整できます。

#### add_elasticsearch_index[[datasets.Dataset.add_elasticsearch_index]]

```python
add_elasticsearch_index(column: str, index_name: typing.Optional[str] = None, host: typing.Optional[str] = None, port: typing.Optional[int] = None, es_client: typing.Optional[ForwardRef('elasticsearch.Elasticsearch')] = None, es_index_name: typing.Optional[str] = None, es_index_config: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L6463)

**パラメータ:**

column (`str`) : インデックスに追加するドキュメントの列。

index_name (`str`, *任意*) : インデックスの`index_name`/識別子です。これは[get_nearest_examples()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.get_nearest_examples)または[search()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.search)を呼び出す際に使用されるインデックス名です。デフォルトでは`column`に対応します。

host (`str`、*任意*、デフォルトは`localhost`) : ElasticSearch が実行されているホスト。

port (`str`、*任意*、デフォルトは`9200`) : ElasticSearch が実行されているポート。

es_client (`elasticsearch.Elasticsearch`、*任意*) : `None`の場合にインデックスを作成するために使用されるelasticsearchクライアント。

es_index_name (`str`, *任意*) : インデックスを作成するために使用される elasticsearch のインデックス名。

es_index_config (`dict`, *任意*) : elasticsearchインデックスの設定。デフォルトの設定は以下の通りです: ``` { "settings": { "number_of_shards": 1, "analysis": {"analyzer": {"stop_standard": {"type": "standard", " stopwords": "_english_"}}}, }, "mappings": { "properties": { "text": { "type": "text", "analyzer": "standard", "similarity": "BM25" }, } }, } ```

ElasticSearch を使用して高速な検索用のテキストインデックスを追加します。これはインプレースで実行されます。

例:

```python
>>> es_client = elasticsearch.Elasticsearch()
>>> ds = datasets.load_dataset('community-datasets/crime_and_punish', split='train')
>>> ds.add_elasticsearch_index(column='line', es_client=es_client, es_index_name="my_es_index")
>>> scores, retrieved_examples = ds.get_nearest_examples('line', 'my new query', k=10)
```

#### load_elasticsearch_index[[datasets.Dataset.load_elasticsearch_index]]

```python
load_elasticsearch_index(index_name: str, es_index_name: str, host: typing.Optional[str] = None, port: typing.Optional[int] = None, es_client: typing.Optional[ForwardRef('Elasticsearch')] = None, es_index_config: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L637)

**パラメータ:**

index_name (`str`) : インデックスの`index_name`/識別子です。`get_nearest`または`search`を呼び出す際に使用されるインデックス名です。

es_index_name (`str`) : 読み込むelasticsearchインデックスの名前。

host (`str`、*任意*、デフォルトは`localhost`) : ElasticSearch が実行されているホスト。

port (`str`、*任意*、デフォルトは`9200`) : ElasticSearch が実行されているポート。

es_client (`elasticsearch.Elasticsearch`、*任意*) : `None`の場合にインデックスを作成するために使用されるelasticsearchクライアント。

es_index_config (`dict`, *任意*) : elasticsearchインデックスの設定。デフォルトの設定は以下の通りです: ``` { "settings": { "number_of_shards": 1, "analysis": {"analyzer": {"stop_standard": {"type": "standard", " stopwords": "_english_"}}}, }, "mappings": { "properties": { "text": { "type": "text", "analyzer": "standard", "similarity": "BM25" }, } }, } ```

ElasticSearchを使用して既存のテキストインデックスを読み込み、高速な検索を実現します。

#### list_indexes[[datasets.Dataset.list_indexes]]

```python
list_indexes()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L438)

添付されているすべてのインデックスの`colindex_nameumns`/識別子をリスト表示します。

#### get_index[[datasets.Dataset.get_index]]

```python
get_index(index_name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L442)

**パラメータ:**

index_name (`str`) : インデックス名。

**戻り値:**

`BaseIndex`

アタッチされたすべてのインデックスの`index_name`/識別子をリスト表示します。

#### drop_index[[datasets.Dataset.drop_index]]

```python
drop_index(index_name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L684)

**パラメータ:**

index_name (`str`) : インデックスの`index_name`/識別子。

指定されたカラムを持つインデックスを削除します。

#### 検索[[datasets.Dataset.search]]

```python
search(index_name: str, query: typing.Union[str, <built-in function array>], k: int = 10, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L693)

**パラメータ:**

index_name (`str`) : インデックスの名前/識別子。

query (`Union[str, np.ndarray]`) : `index_name` がテキストインデックスの場合は文字列、`index_name` がベクトルインデックスの場合は numpy 配列として、クエリを表します。

k (`int`) : 取得するサンプルの数。

**戻り値:** `(scores, indices)`

`(scores, indices)`のタプルで、以下を返します:
- **scores** (`List[List[float]`): 検索された例の、FAISS（デフォルトでは`IndexFlatL2`）または ElasticSearch からの検索スコア
- **indices** (`List[List[int]]`): 取得された例のインデックス

クエリに最も近い例のインデックスをデータセット内で検索します。

#### search_batch[[datasets.Dataset.search_batch]]

```python
search_batch(index_name: str, queries: typing.Union[list[str], <built-in function array>], k: int = 10, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L713)

**パラメータ:**

index_name (`str`) : インデックスの`index_name`/識別子。

queries (`Union[List[str], np.ndarray]`) : `index_name`がテキストインデックスの場合は文字列のリストとして、`index_name`がベクトルインデックスの場合はNumPy配列として、クエリを表します。

k (`int`) : クエリごとに取得するサンプルの数。

**戻り値:** `(total_scores, total_indices)`

`(total_scores, total_indices)`のタプルで、以下を返します:
- **total_scores** (`List[List[float]`): クエリごとに取得された例の、FAISS（デフォルトは`IndexFlatL2`）またはElasticSearchからの検索スコア
- **total_indices** (`List[List[int]]`): クエリごとの取得された例のインデックス

クエリに最も近い例のインデックスをデータセット内で検索します。

#### get_nearest_examples[[datasets.Dataset.get_nearest_examples]]

```python
get_nearest_examples(index_name: str, query: typing.Union[str, <built-in function array>], k: int = 10, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L735)

**パラメータ:**

index_name (`str`) : インデックスの index_name/識別子。

query (`Union[str, np.ndarray]`) : `index_name` がテキストインデックスの場合は文字列、`index_name` がベクトルインデックスの場合は numpy 配列として、クエリを表します。

k (`int`) : 取得するサンプルの数。

**戻り値:** `(scores, examples)`

`(scores, examples)`のタプルで、以下を意味します:
- **scores** (`List[float]`): 検索された例の、FAISS（デフォルトでは`IndexFlatL2`）または ElasticSearch からの検索スコア
- **examples** (`dict`): 取得された例

クエリに最も近い例をデータセット内で検索します。

#### get_nearest_examples_batch[[datasets.Dataset.get_nearest_examples_batch]]

```python
get_nearest_examples_batch(index_name: str, queries: typing.Union[list[str], <built-in function array>], k: int = 10, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/search.py#L759)

**パラメータ:**

index_name (`str`) : インデックスの`index_name`/識別子。

queries (`Union[List[str], np.ndarray]`) : `index_name`がテキストインデックスの場合は文字列のリストとして、`index_name`がベクトルインデックスの場合はNumPy配列として、クエリを表します。

k (`int`) : クエリごとに取得するサンプルの数。

**戻り値:** `(total_scores, total_examples)`

`(total_scores, total_examples)` のタプルで、以下を返します:
- **total_scores** (`List[List[float]`): クエリごとに取得された例の、FAISS（デフォルトは`IndexFlatL2`）またはElasticSearchからの検索スコア
- **total_examples** (`List[dict]`): クエリごとに取得された例

クエリに最も近い例をデータセット内で検索します。

#### info[[datasets.Dataset.info]]

```python
info()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L172)

データセット内のすべてのメタデータを含む[DatasetInfo](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetInfo)オブジェクト。

#### split[[datasets.Dataset.split]]

```python
split()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L177)

名前付きデータセット分割に対応する[NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)オブジェクト。

#### builder_name[[datasets.Dataset.builder_name]]

```python
builder_name()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L182)

#### 引用[[datasets.Dataset.citation]]

```python
citation()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L186)

#### config_name[[datasets.Dataset.config_name]]

```python
config_name()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L190)

#### dataset_size[[datasets.Dataset.dataset_size]]

```python
dataset_size()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L194)

#### 説明[[datasets.Dataset.description]]

```python
description()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L198)

#### download_checksums[[datasets.Dataset.download_checksums]]

```python
download_checksums()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L202)

#### download_size[[datasets.Dataset.download_size]]

```python
download_size()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L206)

#### 機能[[datasets.Dataset.features]]

```python
features()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L785)

#### ホームページ[[datasets.Dataset.homepage]]

```python
homepage()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L214)

#### ライセンス[[datasets.Dataset.license]]

```python
license()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L218)

#### size_in_bytes[[datasets.Dataset.size_in_bytes]]

```python
size_in_bytes()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L222)

#### supervised_keys[[datasets.Dataset.supervised_keys]]

```python
supervised_keys()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L226)

#### バージョン[[datasets.Dataset.version]]

```python
version()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L230)

#### from_csv[[datasets.Dataset.from_csv]]

```python
from_csv(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, num_proc: typing.Optional[int] = None, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1282)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : CSV ファイルのパス。

split ([NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)、*任意*) : データセットに割り当てる分割名。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

cache_dir (`str`、*任意*、デフォルトは`"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

num_proc (`int`、*optional*、デフォルトは`None`) : データセットをローカルにダウンロードおよび生成する際のプロセス数です。データセットが複数のファイルで構成されている場合に役立ちます。デフォルトではマルチプロセッシングは無効です。

- ****kwargs** (追加のキーワード引数) : `pandas.read_csv` に渡すキーワード引数。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

CSVファイルからDatasetを作成します。

CSVファイルを読み取り、データをArrow形式でディスクにキャッシュし、ディスク上のメモリマップドされたArrowデータからDatasetを返します。

例:

```py
>>> ds = Dataset.from_csv('path/to/dataset.csv')
```

#### from_json[[datasets.Dataset.from_json]]

```python
from_json(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, field: typing.Optional[str] = None, num_proc: typing.Optional[int] = None, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1422)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : JSON または JSON Lines ファイルのパス。

split ([NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)、*任意*) : データセットに割り当てる分割名。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

cache_dir (`str`、*任意*、デフォルトは`"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

field (`str`, *任意*) : データセットが含まれる JSON ファイルのフィールド名。

num_proc (`int`、*optional*、デフォルトは`None`) : データセットをローカルにダウンロードおよび生成する際のプロセス数です。データセットが複数のファイルで構成されている場合に役立ちます。デフォルトではマルチプロセッシングは無効です。

- ****kwargs** (追加のキーワード引数) : `JsonConfig` に渡すキーワード引数。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

JSONまたはJSON LinesファイルからDatasetを作成します。

JSONファイルを読み取り、データをArrow形式でディスクにキャッシュし、ディスク上のメモリマップドArrowデータからDatasetを返します。

例:

```py
>>> ds = Dataset.from_json('path/to/dataset.json')
```

#### from_parquet[[datasets.Dataset.from_parquet]]

```python
from_parquet(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, columns: typing.Optional[list[str]] = None, num_proc: typing.Optional[int] = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, fragment_scan_options: typing.Optional[pyarrow._dataset_parquet.ParquetFragmentScanOptions] = None, on_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error', **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1481)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : Parquet ファイルのパス。

split (`NamedSplit`, *任意*) : データセットに割り当てる分割名。

features (`Features`、*任意*) : データセットの機能。

cache_dir (`str`、*任意*、デフォルトは`"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

columns (`List[str]`、*optional*) : `None` 以外の場合、ファイルからこれらのカラムのみが読み込まれます。カラム名はネストされたフィールドのプレフィックスとして指定でき、例えば 'a' を指定すると 'a.b'、'a.c'、'a.d.e' が選択されます。

num_proc (`int`、*optional*、デフォルトは`None`) : データセットをローカルにダウンロードおよび生成する際のプロセス数です。データセットが複数のファイルで構成されている場合に役立ちます。デフォルトではマルチプロセッシングは無効です。

filters (`Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]]`, *任意*) : フィルターに一致する行のみを返します。可能であれば、データソース内で見つかるパーティション情報や内部メタデータ（例: Parquet の統計情報）を活用するために、述語がプッシュダウンされます。それ以外の場合は、RecordBatches をロードしてから、それらを生成する前にフィルタリングします。

fragment_scan_options (`pyarrow.dataset.ParquetFragmentScanOptions`, *任意*) : Parquetフラグメントのスキャンに固有のオプションです。バッファリングやキャッシュの設定に特に役立ちます。

on_bad_files (`Literal["error", "warn", "skip"]`, *optional*, デフォルトは "error") : 読み込めないファイル（読み取り不能なファイル）に遭遇した場合の処理を指定します。許可される値は以下の通りです。 * 'error'、不良ファイルに遭遇した際に例外を発生させます。 * 'warn'、不良ファイルに遭遇した際に警告を発生させ、そのファイルをスキップします。 * 'skip'、不良ファイルに遭遇した際に、警告や例外を発生させずにスキップします。

- ****kwargs** (追加のキーワード引数) : `ParquetConfig`に渡すキーワード引数。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

ParquetファイルからDatasetを作成します。

Parquetファイルを読み取り、データをArrow形式でディスクにキャッシュし、ディスク上のメモリマップドされたArrowデータからDatasetを返します。

例:

```py
>>> ds = Dataset.from_parquet('path/to/dataset.parquet')
```

カラムのサブセットを読み込む:

```python
>>> ds = Dataset.from_parquet('path/to/dataset.parquet', columns=["col_0", "col_1"])
```

データを効率的にフィルタリングし、場合によってはファイル全体や行グループ全体をスキップできます:

```python
>>> filters = [("col_0", "==", 0)]
>>> ds = Dataset.from_parquet(parquet_files_list, filters=filters)
```

#### from_text[[datasets.Dataset.from_text]]

```python
from_text(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, num_proc: typing.Optional[int] = None, keep_linebreaks: bool = False, sample_by: typing.Literal['line', 'paragraph', 'document'] = 'line', **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1578)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : テキストファイルのパス。

split (`NamedSplit`, *任意*) : データセットに割り当てる分割名。

features (`Features`、*任意*) : データセットの機能。

cache_dir (`str`、*任意*、デフォルトは`"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

num_proc (`int`、*optional*、デフォルトは`None`) : データセットをローカルにダウンロードおよび生成する際のプロセス数です。データセットが複数のファイルで構成されている場合に役立ちます。デフォルトではマルチプロセッシングは無効です。

keep_linebreaks : (`bool`、デフォルトは False): 改行を保持するかどうか。

sample_by (`Literal["line", "paragraph", "document"]`、デフォルトは "line") : データを1行、1段落、または1文書単位で読み込むかどうかを指定します。デフォルトでは、データセットの1行 = 1行です。

- ****kwargs** (追加のキーワード引数) : `TextConfig`に渡すキーワード引数。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

テキストファイルからDatasetを作成します。

テキストファイルを読み取り、データをArrow形式でディスクにキャッシュし、ディスク上のメモリマップドArrowデータからDatasetを返します。

例:

```py
>>> ds = Dataset.from_text('path/to/dataset.txt')
```

#### from_sql[[datasets.Dataset.from_sql]]

```python
from_sql(sql: typing.Union[str, ForwardRef('sqlalchemy.sql.Selectable')], con: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')], features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L1706)

**パラメータ:**

sql (`str` または `sqlalchemy.sql.Selectable`) : 実行する SQL クエリまたはテーブル名。

con (`str` または `sqlite3.Connection` または `sqlalchemy.engine.Connection` または `sqlalchemy.engine.Connection`) : データベース接続をインスタンス化するために使用される[URI文字列](https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls)、またはSQLite3/SQLAlchemyの接続オブジェクト。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

cache_dir (`str`、*任意*、デフォルトは`"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

- ****kwargs** (追加のキーワード引数) : `SqlConfig` に渡すキーワード引数。

**戻り値:**

[データセット](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)

SQLクエリまたはデータベーステーブルからDatasetを作成します。

SQLデータベースをクエリし、データをArrow形式でディスクにキャッシュし、ディスク上のメモリマップドされたArrowデータからDatasetを返します。

例:

```py
>>> # Fetch a database table
>>> ds = Dataset.from_sql("test_data", "postgres:///db_name")
>>> # Execute a SQL query on the table
>>> ds = Dataset.from_sql("SELECT sentence FROM test_data", "postgres:///db_name")
>>> # Use a Selectable object to specify the query
>>> from sqlalchemy import select, text
>>> stmt = select([text("sentence")]).select_from(text("test_data"))
>>> ds = Dataset.from_sql(stmt, "postgres:///db_name")
```

> [!TIP]
> `con`がURI文字列として指定されている場合のみ、返されるデータセットをキャッシュできます。

#### align_labels_with_mapping[[datasets.Dataset.align_labels_with_mapping]]

```python
align_labels_with_mapping(label2id: dict, label_column: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L6585)

**パラメータ:**

label2id (`dict`) : データセットを整合させるための、ラベル名からIDへのマッピング。

label_column (`str`) : 整列するラベルの列名。

入力された`label2id`マッピングに合わせて、データセットのラベルIDとラベル名のマッピングを一致させます。これは、モデルの予測ラベルがデータセットと整合していることを確認したい場合に便利です。この整合化は、小文字のラベル名を使用して行われます。

例:

```python
>>> # dataset with mapping {'entailment': 0, 'neutral': 1, 'contradiction': 2}
>>> ds = load_dataset("nyu-mll/glue", "mnli", split="train")
>>> # mapping to align with
>>> label2id = {'CONTRADICTION': 0, 'NEUTRAL': 1, 'ENTAILMENT': 2}
>>> ds_aligned = ds.align_labels_with_mapping(label2id, "label")
```

#### datasets.concatenate_datasets[[datasets.concatenate_datasets]]

```python
datasets.concatenate_datasets(dsets: list, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, axis: int = 0)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/combine.py#L168)

**パラメータ:**

dsets (`List[datasets.Dataset]` または `List[datasets.IterableDataset]`) : 連結する Datasets のリスト。

info (`DatasetInfo`, *任意*) : 説明や引用などのデータセット情報。

split (`NamedSplit`, *任意*) : データセットの分割の名前。

axis (`{0, 1}`、デフォルトは`0`) : 連結を行う軸。`0`は行方向（縦方向）の連結、`1`は列方向（横方向）の連結を意味します。

複数のデータセット（ソース）を1つのデータセットに連結します。

axis=0 を使用すると縦方向に連結されます（デフォルト）、axis=1 を使用すると横方向に連結されます。

イテラブルなデータセットに関する注意:

* axis=0 の場合、結果のデータセットの `num_shards` は、各データセットの `num_shards` の合計になります。
* axis=1の場合、データの不一致を防ぐため、結果のデータセットは1つのシャードになります。
* if the datasets were split with [datasets.distributed.split_dataset_by_node()](/docs/datasets/main/ja/package_reference/main_classes#datasets.distributed.split_dataset_by_node), they must all be split the same way, and the resulting dataset keeps that split.

例:

```py
>>> ds3 = concatenate_datasets([ds1, ds2])
```

#### datasets.interleave_datasets[[datasets.interleave_datasets]]

```python
datasets.interleave_datasets(datasets: list, probabilities: typing.Optional[list[float]] = None, seed: typing.Optional[int] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, stopping_strategy: typing.Literal['first_exhausted', 'all_exhausted', 'all_exhausted_without_replacement'] = 'first_exhausted')
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/combine.py#L18)

**パラメータ:**

datasets (`List[Dataset]` または `List[IterableDataset]`) : インターリーブするデータセットのリスト。

probabilities (`List[float]`、*任意*、デフォルトは`None`) : 指定された場合、これらの確率に従って、一度に一つのソースからサンプルを抽出することで、新しいデータセットが構築されます。

seed (`int`, *任意*, デフォルトは `None`) : 各サンプルのソースを選択するために使用される乱数シード。

info ([DatasetInfo](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetInfo)、*optional*) : 説明や引用などのデータセット情報。

split ([NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)、*任意*) : データセットの分割名。

stopping_strategy (`str`、デフォルトは`first_exhausted`) : 現在、`first_exhausted`、`all_exhausted`、`all_exhausted_without_replacement`の3つの戦略が提案されています。デフォルトの`first_exhausted`はアンダースampling戦略であり、いずれかのデータセットのサンプルが尽きた時点でデータセットの構築が停止します。戦略が`all_exhausted`の場合、オーバーサンプリング戦略が使用され、すべてのデータセットのすべてのサンプルが少なくとも1回追加された時点でデータセットの構築が停止します。戦略が`all_exhausted_without_replacement`の場合、各データセットの各サンプルが1回のみサンプリングされるようにします。戦略が`all_exhausted`の場合、インターリーブされたデータセットのサイズが非常に大きくなる可能性があることに注意してください。 - 確率が指定されていない場合、結果のデータセットには`max_length_datasets*nb_dataset`個のサンプルが含まれます。 - 確率が指定されている場合、一部のデータセットの訪問確率が非常に低い場合、結果のデータセットにはより多くのサンプルが含まれます。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset) または [IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

戻り値の型は、入力パラメータ`datasets`によって異なります。入力が`Dataset`のリストの場合は`Dataset`、入力が`IterableDataset`のリストの場合は`IterableDataset`です。

複数のデータセット（ソース）を交互に配置して、1つのデータセットに統合します。新しいデータセットは、ソースを交互に切り替えてサンプルを取得することで構築されます。

この関数は、[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)オブジェクトのリストまたは[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)オブジェクトのリストに対して使用できます。

- `probabilities`が`None`（デフォルト）の場合、新しいデータセットは、各ソースを循環して例を取得することで構築されます。
- `probabilities`が`None`でない場合、新しいデータセットは、指定された確率に従って、ランダムなソースから一度に1つの例を取得することによって構築されます。

`oversampling`が`True`の場合を除き、生成されるデータセットは、ソースデータセットのいずれかが例をすべて使い切った時点で終了します。`oversampling`が`True`の場合、生成されるデータセットは、すべてのデータセットが少なくとも1回例を使い切った時点で終了します。

イテラブルなデータセットに関する注意:

* 生成されるデータセットの`num_shards`は、各データセットの`num_shards`の最小値となり、並列性の確保を目的としています。一部のデータセットのシャード数が非常に少ない場合は、[IterableDataset.reshard()](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset.reshard)を使用できます。
* 分散環境やPyTorchのDataLoaderワーカーでは、停止戦略はプロセスごとに適用されます。そのため、シャードされたイテラブルデータセットに対して"first_exhausted"戦略を使用すると、生成されるサンプルの総数が少なくなる可能性があります（ワーカーごとにサブデータセットあたり最大1サンプル欠ける場合があります）。

例:

通常のデータセット（mapスタイル）の場合:

```python
>>> from datasets import Dataset, interleave_datasets
>>> d1 = Dataset.from_dict({"a": [0, 1, 2]})
>>> d2 = Dataset.from_dict({"a": [10, 11, 12]})
>>> d3 = Dataset.from_dict({"a": [20, 21, 22]})
>>> dataset = interleave_datasets([d1, d2, d3], probabilities=[0.7, 0.2, 0.1], seed=42, stopping_strategy="all_exhausted")
>>> dataset["a"]
[10, 0, 11, 1, 2, 20, 12, 10, 0, 1, 2, 21, 0, 11, 1, 2, 0, 1, 12, 2, 10, 0, 22]
>>> dataset = interleave_datasets([d1, d2, d3], probabilities=[0.7, 0.2, 0.1], seed=42)
>>> dataset["a"]
[10, 0, 11, 1, 2]
>>> dataset = interleave_datasets([d1, d2, d3])
>>> dataset["a"]
[0, 10, 20, 1, 11, 21, 2, 12, 22]
>>> dataset = interleave_datasets([d1, d2, d3], stopping_strategy="all_exhausted")
>>> dataset["a"]
[0, 10, 20, 1, 11, 21, 2, 12, 22]
>>> d1 = Dataset.from_dict({"a": [0, 1, 2]})
>>> d2 = Dataset.from_dict({"a": [10, 11, 12, 13]})
>>> d3 = Dataset.from_dict({"a": [20, 21, 22, 23, 24]})
>>> dataset = interleave_datasets([d1, d2, d3])
>>> dataset["a"]
[0, 10, 20, 1, 11, 21, 2, 12, 22]
>>> dataset = interleave_datasets([d1, d2, d3], stopping_strategy="all_exhausted")
>>> dataset["a"]
[0, 10, 20, 1, 11, 21, 2, 12, 22, 0, 13, 23, 1, 10, 24]
>>> dataset = interleave_datasets([d1, d2, d3], probabilities=[0.7, 0.2, 0.1], seed=42)
>>> dataset["a"]
[10, 0, 11, 1, 2]
>>> dataset = interleave_datasets([d1, d2, d3], probabilities=[0.7, 0.2, 0.1], seed=42, stopping_strategy="all_exhausted")
>>> dataset["a"]
[10, 0, 11, 1, 2, 20, 12, 13, ..., 0, 1, 2, 0, 24]
For datasets in streaming mode (iterable):

>>> from datasets import interleave_datasets
>>> d1 = load_dataset('allenai/c4', 'es', split='train', streaming=True)
>>> d2 = load_dataset('allenai/c4', 'fr', split='train', streaming=True)
>>> dataset = interleave_datasets([d1, d2])
>>> iterator = iter(dataset)
>>> next(iterator)
{'text': 'Comprar Zapatillas para niña en chancla con goma por...'}
>>> next(iterator)
{'text': 'Le sacre de philippe ier, 23 mai 1059 - Compte Rendu...'
```

#### datasets.distributed.split_dataset_by_node[[datasets.distributed.split_dataset_by_node]]

```python
datasets.distributed.split_dataset_by_node(dataset: ~DatasetType, rank: int, world_size: int, strategy: typing.Literal['auto', 'shards', 'examples'] = 'auto')
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/distributed.py#L10)

**パラメータ:**

dataset ([Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset) または [IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)) : ノードごとに分割するデータセット。

rank (`int`) : 現在のノードのランク。

world_size (`int`) : ノードの総数。

strategy (`str`、デフォルトは`"auto"`) : イテラブルなデータセットを分割する方法。`"auto"`、`"shards"`、または`"examples"`のいずれかである必要があります。Mapスタイルのデータセットは`"auto"`のみサポートします。

**戻り値:** [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset) または [IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

ランク`rank`のノードで使用するデータセット。

`world_size`のノードプールにおいて、ランク`rank`のノード用にデータセットを分割します。

マップスタイルのデータセットの場合:

各ノードにはデータのチャンクが割り当てられます。例えば、rank 0 にはデータセットの最初のチャンクが割り当てられます。データ読み込みのスループットを最大化するために、可能であればチャンクはディスク上の連続データで構成されます。

イテラブルなデータセットの場合:

`strategy` の分割は、`"auto"`、`"shards"`、または `"examples"` のいずれかです:

* `"shards"`: シャードはノード間で均等に割り当てられます
* `"examples"`: 各ノードは`world_size`個の例のうち1つを保持し、他の例はスキップします
* `"auto"` (デフォルト): データセットのシャード数が`world_size`の約数である場合、`"shards"`を使用します
（つまり、`dataset.num_shards % world_size == 0`の場合）が最も最適化されています。それ以外の場合は`"examples"`を使用します。

> [!WARNING]
> 分散環境でイテラブルなデータセットをシャッフルする場合は、[IterableDataset.shuffle()](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset.shuffle)内で固定の`seed`を設定してください。
そのため、各ノードで同じシャッフル済みのシャードのリストが使用され、そのノードがどのシャードをスキップすべきかを把握します。

#### datasets.enable_caching[[datasets.enable_caching]]

```python
datasets.enable_caching()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/fingerprint.py#L120)

データセットにトランスフォームを適用すると、データはキャッシュファイルに保存されます。このキャッシュ機構により、すでに計算済みの既存のキャッシュファイルを再読み込みできます。

データセットの再読み込みは可能です。キャッシュファイルはデータセットのフィンガープリントで名前が付けられており、各変換後に更新されるためです。

無効にすると、ライブラリはデータセットにトランスフォームを適用する際に、キャッシュされたデータセットファイルを再読み込みしなくなります。より正確には、キャッシュが無効化されている場合:
- cacheファイルは常に再作成されます
- cache filesは、セッションが閉じられた際に削除される一時ディレクトリに書き込まれます
- cacheファイルは、データセットのフィンガープリントではなく、ランダムなハッシュを使用して命名されます
- 変換されたデータセットを保存するには[save_to_disk()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.save_to_disk)を使用してください。そうしないと、セッションが閉じられた際に削除されます。
- caching は [load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset) には影響しません。データセットを最初から再生成したい場合は、
[load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset)の`download_mode`パラメータ。

#### datasets.disable_caching[[datasets.disable_caching]]

```python
datasets.disable_caching()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/fingerprint.py#L141)

データセットにトランスフォームを適用すると、データはキャッシュファイルに保存されます。このキャッシュ機構により、すでに計算済みの既存のキャッシュファイルを再読み込みできます。

データセットの再読み込みは可能です。キャッシュファイルはデータセットのフィンガープリントで名前が付けられており、各変換後に更新されるためです。

無効にすると、ライブラリはデータセットにトランスフォームを適用する際に、キャッシュされたデータセットファイルを再読み込みしなくなります。より正確には、キャッシュが無効化されている場合:
- cacheファイルは常に再作成されます
- cache filesは、セッションが閉じられた際に削除される一時ディレクトリに書き込まれます
- cacheファイルは、データセットのフィンガープリントではなく、ランダムなハッシュを使用して命名されます
- 変換されたデータセットを保存するには[save_to_disk()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.save_to_disk)を使用してください。そうしないと、セッションが閉じられた際に削除されます。
- caching は [load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset) には影響しません。データセットを最初から再生成したい場合は、
[load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset)の`download_mode`パラメータ。

#### datasets.is_caching_enabled[[datasets.is_caching_enabled]]

```python
datasets.is_caching_enabled()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/fingerprint.py#L162)

データセットにトランスフォームを適用すると、データはキャッシュファイルに保存されます。このキャッシュ機構により、すでに計算済みの既存のキャッシュファイルを再読み込みできます。

データセットの再読み込みは可能です。キャッシュファイルはデータセットのフィンガープリントで名前が付けられており、各変換後に更新されるためです。

無効にすると、ライブラリはデータセットにトランスフォームを適用する際に、キャッシュされたデータセットファイルを再読み込みしなくなります。より正確には、キャッシュが無効化されている場合:
- cacheファイルは常に再作成されます
- cache filesは、セッションが閉じられた際に削除される一時ディレクトリに書き込まれます
- cacheファイルは、データセットのフィンガープリントではなく、ランダムなハッシュを使用して命名されます
- 変換されたデータセットを保存するには、[save_to_disk()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.save_to_disk)を使用してください。そうしないと、セッションが閉じられた際に削除されます。
- caching は [load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset) には影響しません。データセットを最初から再生成したい場合は、
[load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset)の`download_mode`パラメータ。

#### datasets.Column[[datasets.Column]]

```python
datasets.Column(source: typing.Union[ForwardRef('Dataset'), ForwardRef('Column')], column_name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L638)

[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)の特定の列に対するイテラブル。

例:

datasetの"text"カラムのテキストを反復処理します:

```python
for text in dataset["text"]:
    ...
```

ネストされたカラムでも動作します:

```python
for source in dataset["metadata"]["source"]:
    ...
```

## DatasetDict[[datasets.DatasetDict]]

キーに分割名（例: 'train'、'test'）、値に`Dataset`オブジェクトを持つ辞書です。map や filter などのデータセット変換メソッドも備えており、すべての分割を一度に処理できます。

#### datasets.DatasetDict[[datasets.DatasetDict]]

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L53)

datasets.Dataset の変換メソッド（map、filter など）を持つ辞書（dict of str: datasets.Dataset）

#### data[[datasets.DatasetDict.data]]

```python
data()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L94)

各スプリットを裏付けるApache Arrowテーブル。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.data
```

#### cache_files[[datasets.DatasetDict.cache_files]]

```python
cache_files()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L109)

各スプリットを裏付けるApache Arrowテーブルを含むキャッシュファイル。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.cache_files
{'test': [{'filename': '/root/.cache/huggingface/datasets/rotten_tomatoes_movie_review/default/1.0.0/40d411e45a6ce3484deed7cc15b82a53dad9a72aafd9f86f8f227134bec5ca46/rotten_tomatoes_movie_review-test.arrow'}],
 'train': [{'filename': '/root/.cache/huggingface/datasets/rotten_tomatoes_movie_review/default/1.0.0/40d411e45a6ce3484deed7cc15b82a53dad9a72aafd9f86f8f227134bec5ca46/rotten_tomatoes_movie_review-train.arrow'}],
 'validation': [{'filename': '/root/.cache/huggingface/datasets/rotten_tomatoes_movie_review/default/1.0.0/40d411e45a6ce3484deed7cc15b82a53dad9a72aafd9f86f8f227134bec5ca46/rotten_tomatoes_movie_review-validation.arrow'}]}
```

#### num_columns[[datasets.DatasetDict.num_columns]]

```python
num_columns()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L127)

データセットの各分割における列数。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.num_columns
{'test': 2, 'train': 2, 'validation': 2}
```

#### num_rows[[datasets.DatasetDict.num_rows]]

```python
num_rows()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L143)

データセットの各分割における行数。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.num_rows
{'test': 1066, 'train': 8530, 'validation': 1066}
```

#### column_names[[datasets.DatasetDict.column_names]]

```python
column_names()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L159)

データセットの各スプリットにおけるカラム名。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.column_names
{'test': ['text', 'label'],
 'train': ['text', 'label'],
 'validation': ['text', 'label']}
```

#### shape[[datasets.DatasetDict.shape]]

```python
shape()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L177)

データセットの各分割の形状（行数、列数）。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.shape
{'test': (1066, 2), 'train': (8530, 2), 'validation': (1066, 2)}
```

#### unique[[datasets.DatasetDict.unique]]

```python
unique(column: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L226)

**パラメータ:**

column (`str`) : 列名（[column_names](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict.column_names)ですべての列名をリスト表示できます）

**戻り値:** Dict[`str`, `list`]

指定されたカラムの一意の要素の辞書。

各スプリットについて、カラム内の一意の要素のリストを返します。

これは低レベルのバックエンドで実装されており、そのため非常に高速です。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.unique("label")
{'test': [1, 0], 'train': [1, 0], 'validation': [1, 0]}
```

#### cleanup_cache_files[[datasets.DatasetDict.cleanup_cache_files]]

```python
cleanup_cache_files()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L250)

**戻り値:**

各スプリットごとに削除されたファイルの数を示す`Dict`

データセットのキャッシュディレクトリ内のすべてのキャッシュファイルを、現在使用されているキャッシュファイルがある場合はそれを除いて削除します。このコマンドを実行する際は、他のプロセスが他のキャッシュファイルを使用していないことを確認してください。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.cleanup_cache_files()
{'test': 0, 'train': 0, 'validation': 0}
```

#### map[[datasets.DatasetDict.map]]

```python
map(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_rank: bool = False, with_split: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, drop_last_batch: bool = False, remove_columns: typing.Union[str, list[str], NoneType] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = None, writer_batch_size: typing.Optional[int] = 1000, features: typing.Optional[datasets.features.features.Features] = None, disable_nullable: bool = False, fn_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, desc: typing.Optional[str] = None, try_original_type: typing.Optional[bool] = True, on_mixed_types: typing.Optional[typing.Literal['use_json']] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L814)

**パラメータ:**

function (`callable`) : 以下のシグネチャのいずれかを指定します: - `batched=False` かつ `with_indices=False` の場合: `function(example: Dict[str, Any]) -> Dict[str, Any]` - `batched=False` かつ `with_indices=True` の場合: `function(example: Dict[str, Any], indices: int) -> Dict[str, Any]` - `batched=True` かつ `with_indices=False` の場合: `function(batch: Dict[str, list]) -> Dict[str, list]` - `batched=True` かつ `with_indices=True` の場合: `function(batch: Dict[str, list], indices: list[int]) -> Dict[str, list]` 高度な用途では、関数は `pyarrow.Table` を返すこともできます。関数が非同期の場合、`map` は関数を並列で実行します。また、関数が何も返さない (`None`) 場合、`map` は関数を実行し、データセットを変更せずに返します。関数が指定されない場合、恒等関数 `lambda x: x` がデフォルトとして使用されます。

with_indices (`bool`、デフォルトは`False`) : `function`にインデックスの例を提供します。この場合、`function`のシグネチャは`def function(example, idx): ...`である必要があります。

with_rank (`bool`、デフォルトは`False`) : `function`にプロセスランクを渡します。この場合、`function`のシグネチャは`def function(example[, idx], rank): ...`である必要があります。

with_split (`bool`、デフォルトは`False`) : `function`にプロセス分割を提供します。この場合、`function`のシグネチャは`def function(example[, idx], split): ...`である必要があります。

input_columns (`[Union[str, list[str]]]`、*任意*、デフォルトは`None`) : `function`に位置引数として渡す列。`None`の場合、フォーマットされたすべての列へのマッピングを含む辞書が1つの引数として渡されます。

batched (`bool`、デフォルトは`False`) : `function`にバッチの例を提供します。

batch_size (`int`、*任意*、デフォルトは`1000`) : `batched=True`の場合、`function`にバッチごとに提供されるサンプル数。`batch_size <= 0`または`batch_size == None`の場合、`function`にデータセット全体を単一のバッチとして提供します。

drop_last_batch (`bool`、デフォルトは`False`) : batch_sizeより小さい最後のバッチを、関数で処理する代わりに破棄するかどうか。

remove_columns (`[Union[str, list[str]]]`、*任意*、デフォルトは`None`) : マッピング処理中に選択された列を削除します。列は、`function`の出力で例を更新する前に削除されます。つまり、`function`が`remove_columns`に名前が含まれる列を追加する場合、これらの列は保持されます。

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、データセットをメモリ内に保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : `function`の現在の計算を保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

cache_file_names (`[Dict[str, str]]`、*任意*、デフォルトは`None`) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、計算結果を保存するために使用されます。データセットの辞書内の各データセットに対して、`cache_file_name`を1つずつ指定する必要があります。

writer_batch_size (`int`、デフォルト `1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると `map` 実行中の一時メモリ消費量が少なくなります。

features (`[datasets.Features]`、*任意*、デフォルトは`None`) : 自動生成されるものではなく、特定の[Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)を使用してキャッシュファイルを保存します。

disable_nullable (`bool`、デフォルトは`False`) : テーブル内のnull値を許可しないようにします。

fn_kwargs (`Dict`、*任意*、デフォルトは`None`) : `function`に渡すキーワード引数

num_proc (`int`, *optional*, デフォルトは `None`) : マルチプロセッシングに使用するプロセスの数です。 - `None` または `0` の場合、マルチプロセッシングは使用されず、操作はメインプロセスで実行されます。 - `1` より大きい場合、1 つ以上のワーカープロセスを使用してデータを並列で処理します。注: マルチプロセッシングが正しく動作するには、`map()` に渡される関数が picklable である必要があります（つまり、モジュールのトップレベルで定義された関数を優先し、他の関数やクラス内で定義された関数は避けてください）。

desc (`str`、*任意*、デフォルトは`None`) : マッピング処理中にプログレスバーと併せて表示される、意味のある説明です。

try_original_type (`Optional[bool]`、デフォルトは`True`) : 元の列の型を維持しようとします（例: int32 -> int32）。常に新しい型を推論したい場合は False に設定してください。

on_mixed_types (`Literal["use_json"]`、*任意*、デフォルトは`None`) : "use_json"の場合、混合型のフィールド、つまり事前定義されたスキーマを持たない非構造化データを含むフィールドにJson()型を使用します。この場合、混合型のフィールドはJson()に設定されます。これにより、文字列/整数/浮動小数点数の混合を含むリストや、任意の値型を持つ辞書を読み込むことが可能になります。

テーブル内のすべての例（個別またはバッチ単位）に関数を適用して、テーブルを更新します。関数がすでに存在するカラムを返す場合、そのカラムは上書きされます。変換は、データセット辞書のすべてのデータセットに適用されます。

`batched` パラメータで、関数をバッチ処理にするかどうかを指定できます:

- `False`の場合、関数は1つの例を受け取り、1つの例を返す必要があります。例は辞書であり、例えば`{"text": "Hello there !"}`です。
- `True` かつ `batch_size` が 1 の場合、この関数は 1 つのサンプルのバッチを入力として受け取り、1 つ以上のサンプルを含むバッチを返すことができます。バッチは辞書であり、例えば 1 つのサンプルのバッチは `{"text": ["Hello there !"]}` のようになります。
- `True` かつ `batch_size` が `n > 1` の場合、この関数は `n` 個のサンプルのバッチを入力として受け取り、`n` 個のサンプルを含むバッチ、または任意の数のサンプルを含むバッチを返すことができます。最後のバッチは `n` 個未満のサンプルを含む場合があります。バッチは辞書であり、例えば `n` 個のサンプルのバッチは `{"text": ["Hello there !"] * n}` のようになります。

関数が非同期の場合、`map`は最大1,000回の同時呼び出しで関数を並列実行します。同時に実行できる操作の最大数を設定したい場合は、関数内で`asyncio.Semaphore`を使用することをお勧めします。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> ds["train"][0:3]["text"]
['Review: the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
 'Review: the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .',
 'Review: effective but too-tepid biopic']

# process a batch of examples
>>> ds = ds.map(lambda example: tokenizer(example["text"]), batched=True)
# set number of processors
>>> ds = ds.map(add_prefix, num_proc=4)
```

#### フィルター[[datasets.DatasetDict.filter]]

```python
filter(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_rank: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = None, writer_batch_size: typing.Optional[int] = 1000, fn_kwargs: typing.Optional[dict] = None, num_proc: typing.Optional[int] = None, desc: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L986)

**パラメータ:**

function (`Callable`) : 以下のいずれかのシグネチャを持つ Callable: - `batched=False` かつ `with_indices=False` かつ `with_rank=False` の場合、`function(example: Dict[str, Any]) -> bool` - `batched=False` かつ `with_indices=True` および/または `with_rank=True` の場合、`function(example: Dict[str, Any], *extra_args) -> bool` (それぞれ 1 つの追加引数) - `batched=True` かつ `with_indices=False` かつ `with_rank=False` の場合、`function(batch: Dict[str, list]) -> list[bool]` - `batched=True` かつ `with_indices=True` および/または `with_rank=True` の場合、`function(batch: Dict[str, list], *extra_args) -> list[bool]` (それぞれ 1 つの追加引数) 関数が指定されない場合、常に `True` を返す関数 `lambda x: True` がデフォルトとして使用されます。

with_indices (`bool`、デフォルトは`False`) : `function`にインデックスの例を提供します。この場合、`function`のシグネチャは`def function(example, idx[, rank]): ...`である必要があります。

with_rank (`bool`、デフォルトは`False`) : `function`にプロセスランクを渡します。この場合、`function`のシグネチャは`def function(example[, idx], rank): ...`である必要があります。

input_columns (`[Union[str, list[str]]]`、*任意*、デフォルトは`None`) : `function`に位置引数として渡す列。`None`の場合、フォーマットされたすべての列へのマッピングを含む辞書が1つの引数として渡されます。

batched (`bool`、デフォルトは`False`) : `function`にバッチの例を提供します。

batch_size (`int`、*任意*、デフォルトは`1000`) : `batched=True`の場合、`function`にバッチごとに提供されるサンプル数。`batch_size <= 0`または`batch_size == None`の場合、`function`にデータセット全体を単一のバッチとして提供します。

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、データセットをメモリ内に保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : `function`の現在の計算を保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

cache_file_names (`[Dict[str, str]]`、*任意*、デフォルトは`None`) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、計算結果を保存するために使用されます。データセットの辞書内の各データセットに対して、`cache_file_name`を1つずつ指定する必要があります。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると`map`実行中の一時メモリ消費量が少なくなります。

fn_kwargs (`Dict`、*任意*、デフォルトは`None`) : `function`に渡すキーワード引数

num_proc (`int`, *optional*, デフォルトは `None`) : マルチプロセッシングに使用するプロセスの数です。 - `None` または `0` の場合、マルチプロセッシングは使用されず、操作はメインプロセスで実行されます。 - `1` より大きい場合、1 つ以上のワーカープロセスを使用してデータを並列で処理します。注: マルチプロセッシングが正しく動作するには、`map()` に渡される関数が picklable である必要があります（つまり、モジュールのトップレベルで定義された関数を優先し、他の関数やクラス内で定義された関数は避けてください）。

desc (`str`、*任意*、デフォルトは`None`) : サンプルをフィルタリングしている間、プログレスバーとともに表示される意味のある説明。

filterメソッドは、テーブル内のすべての要素にバッチ単位でフィルタ関数を適用し、フィルタ関数に一致するサンプルのみを含むようにテーブルを更新します。この変換は、データセット辞書内のすべてのデータセットに適用されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.filter(lambda x: x["label"] == 1)
DatasetDict({
    train: Dataset({
        features: ['text', 'label'],
        num_rows: 4265
    })
    validation: Dataset({
        features: ['text', 'label'],
        num_rows: 533
    })
    test: Dataset({
        features: ['text', 'label'],
        num_rows: 533
    })
})
```

#### sort[[datasets.DatasetDict.sort]]

```python
sort(column_names: typing.Union[str, collections.abc.Sequence[str]], reverse: typing.Union[bool, collections.abc.Sequence[bool]] = False, null_placement: str = 'at_end', keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, indices_cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = None, writer_batch_size: typing.Optional[int] = 1000)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1151)

**パラメータ:**

column_names (`Union[str, Sequence[str]]`) : 並べ替えに使用するカラム名。

reverse (`Union[bool, Sequence[bool]]`、デフォルトは`False`) : `True`の場合、昇順ではなく降順でソートします。単一のboolが指定された場合、その値はすべてのカラム名のソートに適用されます。それ以外の場合は、column_namesと同じ長さかつ順序を持つboolのリストを指定する必要があります。

null_placement (`str`、デフォルトは`at_end`) : `at_start`または`first`の場合は`None`の値を先頭に、`at_end`または`last`の場合は末尾に配置します

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、ソート済みインデックスをメモリに保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : ソート済みインデックスを保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

indices_cache_file_names (`[Dict[str, str]]`、*任意*、デフォルトは`None`) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、インデックスのマッピングを保存するために使用されます。データセットの辞書内の各データセットに対して、`cache_file_name`を1つずつ指定する必要があります。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。値を大きくするとキャッシュファイルは小さくなりますが、小さくすると一時メモリ消費量が少なくなります。

1つの列または複数の列に基づいてソートされた新しいデータセットを作成します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset('cornell-movie-review-data/rotten_tomatoes')
>>> ds['train']['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
>>> sorted_ds = ds.sort('label')
>>> sorted_ds['train']['label'][:10]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>> another_sorted_ds = ds.sort(['label', 'text'], reverse=[True, False])
>>> another_sorted_ds['train']['label'][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
```

#### シャッフル[[datasets.DatasetDict.shuffle]]

```python
shuffle(seeds: typing.Union[int, dict[str, typing.Optional[int]], NoneType] = None, seed: typing.Optional[int] = None, generators: typing.Optional[dict[str, numpy.random._generator.Generator]] = None, keep_in_memory: bool = False, load_from_cache_file: typing.Optional[bool] = None, indices_cache_file_names: typing.Optional[dict[str, typing.Optional[str]]] = None, writer_batch_size: typing.Optional[int] = 1000)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1218)

**パラメータ:**

seeds (`Dict[str, int]` または `int`、*省略可能*) : `generator=None` の場合、デフォルトの BitGenerator を初期化するためのシードです。`None` の場合、OS から新しい予測不可能なエントロピーを取得します。`int` または `array_like[ints]` が渡された場合、SeedSequence に渡されて初期の BitGenerator 状態が導出されます。データセットの辞書内で、データセットごとに 1 つの `seed` を指定できます。

seed (`int`, *optional*) : `generator=None`の場合、デフォルトのBitGeneratorを初期化するためのシードです。seedsの別名です（両方が指定された場合は`ValueError`が発生します）。

generators (`Dict[str, *optional*, np.random.Generator]`) : データセットの行の置換を計算するために使用する Numpy ランダム Generator。`generator=None`（デフォルト）の場合、`np.random.default_rng`（NumPy のデフォルト BitGenerator (PCG64)）を使用します。データセットの辞書内の各データセットに対して 1 つの `generator` を指定する必要があります。

keep_in_memory (`bool`、デフォルトは`False`) : キャッシュファイルに書き込む代わりに、データセットをメモリ内に保持します。

load_from_cache_file (`Optional[bool]`、キャッシュが有効な場合のデフォルトは`True`) : `function`の現在の計算を保存するキャッシュファイルが特定できる場合、再計算する代わりにそれを使用します。

indices_cache_file_names (`Dict[str, str]`、*任意*) : キャッシュファイルのパス名を指定します。自動生成されるキャッシュファイル名ではなく、インデックスのマッピングを保存するために使用されます。データセットの辞書内の各データセットに対して、`cache_file_name` を1つずつ指定する必要があります。

writer_batch_size (`int`、デフォルトは`1000`) : キャッシュファイルライターにおける1回の書き込み操作あたりの行数です。この値は、処理中のメモリ使用量と処理速度のバランスを取るのに適しています。値を大きくすると参照回数が減り、小さくすると`map`実行中の一時メモリ消費量が少なくなります。

行がシャッフルされた新しい Dataset を作成します。

変換は、データセット辞書のすべてのデータセットに適用されます。

現在、シャッフル処理ではNumPyの乱数生成器が使用されています。使用するNumPyのBitGeneratorを指定するか、NumPyのデフォルトの乱数生成器（PCG64）を開始するためのシードを指定できます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds["train"]["label"][:10]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

# set a seed
>>> shuffled_ds = ds.shuffle(seed=42)
>>> shuffled_ds["train"]["label"][:10]
[0, 1, 0, 1, 0, 0, 0, 0, 0, 0]
```

#### set_format[[datasets.DatasetDict.set_format]]

```python
set_format(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L571)

**パラメータ:**

type (`str`, *任意*) : `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']` から選択された出力型。`None` は、`__getitem__` が Python オブジェクトを返すことを意味します（デフォルト）。

columns (`list[str]`、*任意*) : 出力でフォーマットする列。`None` は `__getitem__` がすべての列を返すことを意味します（デフォルト）。

output_all_columns (`bool`、デフォルトはFalse) : 出力に、フォーマットされていない列も（Pythonオブジェクトとして）保持します。

- ****format_kwargs** (追加のキーワード引数) : `np.array`、`torch.tensor`、または `tensorflow.ragged.constant` のような変換関数に渡されるキーワード引数。

`__getitem__`の返り値の形式（型とカラム）を設定します。この形式は、データセット辞書内のすべてのデータセットに設定されます。

`set_format`を呼び出した後で`map`を呼び出すことも可能です。`map`は新しいカラムを追加する可能性があるため、フォーマットが適用されたカラムのリストは更新されます。この場合、データセットに対して`map`を適用して新しいカラムを追加すると、そのカラムにフォーマットが適用されます。

`new formatted columns = (all columns - previously unformatted columns)`

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x["text"], truncation=True, padding=True), batched=True)
>>> ds.set_format(type="numpy", columns=['input_ids', 'token_type_ids', 'attention_mask', 'label'])
>>> ds["train"].format
{'columns': ['input_ids', 'token_type_ids', 'attention_mask', 'label'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'numpy'}
```

#### reset_format[[datasets.DatasetDict.reset_format]]

```python
reset_format()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L622)

`__getitem__`の戻り値の形式をPythonオブジェクトおよび全カラムにリセットします。この変換は、データセット辞書のすべてのデータセットに適用されます。

`self.set_format()` と同じです

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x["text"], truncation=True, padding=True), batched=True)
>>> ds.set_format(type="numpy", columns=['input_ids', 'token_type_ids', 'attention_mask', 'label'])
>>> ds["train"].format
{'columns': ['input_ids', 'token_type_ids', 'attention_mask', 'label'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'numpy'}
>>> ds.reset_format()
>>> ds["train"].format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': None}
```

#### formatted_as[[datasets.DatasetDict.formatted_as]]

```python
formatted_as(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L531)

**パラメータ:**

type (`str`, *任意*) : `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']` から選択された出力型。`None` は、`__getitem__` が Python オブジェクトを返すことを意味します（デフォルト）。

columns (`list[str]`、*任意*) : 出力でフォーマットする列。`None` は `__getitem__` がすべての列を返すことを意味します（デフォルト）。

output_all_columns (`bool`、デフォルトは False) : 出力に、フォーマットされていない列も（Python オブジェクトとして）保持します。

- ****format_kwargs** (追加のキーワード引数) : `np.array`、`torch.tensor`、または `tensorflow.ragged.constant` のような変換関数に渡されるキーワード引数。

`with` 文で使用します。`__getitem__` の戻り値の形式（型とカラム）を設定します。変換は、データセット辞書のすべてのデータセットに適用されます。

#### with_format[[datasets.DatasetDict.with_format]]

```python
with_format(type: typing.Optional[str] = None, columns: typing.Optional[list] = None, output_all_columns: bool = False, **format_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L683)

**パラメータ:**

type (`str`, *任意*) : `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']` から選択された出力型。`None` は、`__getitem__` が Python オブジェクトを返すことを意味します（デフォルト）。

columns (`list[str]`、*任意*) : 出力でフォーマットする列。`None` は `__getitem__` がすべての列を返すことを意味します（デフォルト）。

output_all_columns (`bool`、デフォルトは`False`) : 出力に、フォーマットされていない列も（Pythonオブジェクトとして）保持します。

- ****format_kwargs** (追加のキーワード引数) : `np.array`、`torch.tensor`、または `tensorflow.ragged.constant` のような変換関数に渡されるキーワード引数。

`__getitem__`の戻り値の形式（型とカラム）を設定します。データの整形はオンザフライで適用されます。形式の`type`（例: "numpy"）は、`__getitem__`を使用する際にバッチを整形するために使用されます。この形式は、データセット辞書内のすべてのデータセットに対して設定されます。

It's also possible to use custom transforms for formatting using [with_transform()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.with_transform).

[set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict.set_format)とは異なり、`with_format`は新しい[Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset)オブジェクトを含む新しい[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)オブジェクトを返します。

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds["train"].format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': None}
>>> ds = ds.with_format("torch")
>>> ds["train"].format
{'columns': ['text', 'label', 'input_ids', 'token_type_ids', 'attention_mask'],
 'format_kwargs': {},
 'output_all_columns': False,
 'type': 'torch'}
>>> ds["train"][0]
{'text': 'compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'label': tensor(1),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
        1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
        1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
 'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])}
```

#### with_transform[[datasets.DatasetDict.with_transform]]

```python
with_transform(transform: typing.Optional[typing.Callable], columns: typing.Optional[list] = None, output_all_columns: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L760)

**パラメータ:**

transform (`Callable`、*任意*) : ユーザーが定義したフォーマット変換。[set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_format)で定義されたフォーマットを置き換えます。フォーマット関数は、バッチ（dict として）を入力に取り、バッチを返す呼び出し可能なオブジェクトです。この関数は、`__getitem__`でオブジェクトを返す直前に適用されます。

columns (`list[str]`, *任意*) : 出力でフォーマットする列を指定します。指定した場合、transform の入力バッチにはこれらの列のみが含まれます。

output_all_columns (`bool`、デフォルトは False) : 出力にフォーマットされていないカラムも（Python オブジェクトとして）保持します。`True` に設定すると、変換の出力とともに他のフォーマットされていないカラムも保持されます。

このtransformを使用して`__getitem__`の返却形式を設定します。このtransformは、`__getitem__`が呼び出された際にバッチに対してオンザフライで適用されます。このtransformは、データセット辞書のすべてのデータセットに設定されます。

[set_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.set_format)と同様に、[reset_format()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.reset_format)を使用してリセットできます。

`set_transform()` とは異なり、`with_transform` は新しい [Dataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset) オブジェクトを含む新しい [DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict) オブジェクトを返します。

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> def encode(example):
...     return tokenizer(example['text'], truncation=True, padding=True, return_tensors="pt")
>>> ds = ds.with_transform(encode)
>>> ds["train"][0]
{'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
 1, 1, 1, 1, 1, 1, 1, 1, 1]),
 'input_ids': tensor([  101,  1103,  2067,  1110, 17348,  1106,  1129,  1103,  6880,  1432,
        112,   188,  1207,   107, 14255,  1389,   107,  1105,  1115,  1119,
        112,   188,  1280,  1106,  1294,   170, 24194,  1256,  3407,  1190,
        170, 11791,  5253,   188,  1732,  7200, 10947, 12606,  2895,   117,
        179,  7766,   118,   172, 15554,  1181,  3498,  6961,  3263,  1137,
        188,  1566,  7912, 14516,  6997,   119,   102]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0])}
```

#### flatten[[datasets.DatasetDict.flatten]]

```python
flatten(max_depth = 16)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L193)

各スプリットのApache Arrow Tableをフラット化します（ネストされた特徴量はフラット化されます）。struct型の各カラムは、structフィールドごとに1カラムずつにフラット化されます。その他のカラムは変更されません。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("rajpurkar/squad")
>>> ds["train"].features
{'id': Value('string'),
 'title': Value('string'),
 'context': Value('string'),
 'question': Value('string'),
 'answers.text': List(Value('string')),
 'answers.answer_start': List(Value('int32'))}
>>> ds.flatten()
DatasetDict({
    train: Dataset({
        features: ['id', 'title', 'context', 'question', 'answers.text', 'answers.answer_start'],
        num_rows: 87599
    })
    validation: Dataset({
        features: ['id', 'title', 'context', 'question', 'answers.text', 'answers.answer_start'],
        num_rows: 10570
    })
})
```

#### キャスト[[datasets.DatasetDict.cast]]

```python
cast(features: Features)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L274)

**パラメータ:**

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)) : データセットをキャストする新しい特徴量です。特徴量のフィールド名と順序は、現在の列名と一致する必要があります。また、データ型も相互に変換可能である必要があります。`string`と`ClassLabel`のような非自明な変換を行う場合は、[map()](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict.map)を使用してデータセットを更新してください。

…

例:

```py
>>> from datasets import load_dataset, ClassLabel, Value
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds["train"].features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds["train"].features.copy()
>>> new_features['label'] = ClassLabel(names=['bad', 'good'])
>>> new_features['text'] = Value('large_string')
>>> ds = ds.cast(new_features)
>>> ds["train"].features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```

#### cast_column[[datasets.DatasetDict.cast_column]]

```python
cast_column(column: str, feature)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L306)

**パラメータ:**

column (`str`) : 列名。

feature (`Feature`) : ターゲット特徴量。

**戻り値:**

[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

デコード用にカラムをfeatureにキャストします。

例:

```py
>>> from datasets import load_dataset, ClassLabel
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds["train"].features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> ds = ds.cast_column('label', ClassLabel(names=['bad', 'good']))
>>> ds["train"].features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('string')}
```

#### remove_columns[[datasets.DatasetDict.remove_columns]]

```python
remove_columns(column_names: typing.Union[str, list[str]])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L335)

**パラメータ:**

column_names (`Union[str, list[str]]`) : 削除するカラムの名前。

**戻り値:** [DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

削除するカラムを含まない、データセットオブジェクトのコピー。

datasetの各スプリットから、1つ以上のカラムおよびそのカラムに関連付けられた特徴量を削除します。

変換は、データセット辞書のすべてのスプリットに適用されます。

`remove_columns` を使用して [map()](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict.map) で列を削除することもできますが、本メソッドは残りの列のデータをコピーしないため、より高速です。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds = ds.remove_columns("label")
DatasetDict({
    train: Dataset({
        features: ['text'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text'],
        num_rows: 1066
    })
})
```

#### rename_column[[datasets.DatasetDict.rename_column]]

```python
rename_column(original_column_name: str, new_column_name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L377)

**パラメータ:**

original_column_name (`str`) : 名前を変更するカラムの名前。

new_column_name (`str`) : 列の新しい名前。

データセット内の列名を変更し、元の列に関連付けられた特徴量を新しい列名の下に移動します。この変換は、データセット辞書内のすべてのデータセットに適用されます。

`remove_columns` を使用して [map()](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict.map) で列の名前を変更することもできますが、現在のメソッドは:
- 元の機能を新しい列名の下に移動する処理を担当します。
- データを新しいデータセットにコピーしないため、はるかに高速です。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds = ds.rename_column("label", "label_new")
DatasetDict({
    train: Dataset({
        features: ['text', 'label_new'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text', 'label_new'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text', 'label_new'],
        num_rows: 1066
    })
})
```

#### rename_columns[[datasets.DatasetDict.rename_columns]]

```python
rename_columns(column_mapping: dict)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L425)

**パラメータ:**

column_mapping (`Dict[str, str]`) : 列名を新しい名前に変更するためのマッピング。

**戻り値:** [DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

列名が変更されたデータセットのコピー。

dataset内の複数のカラム名を変更し、元のカラムに関連する特徴量を新しいカラム名の下に移動します。この変換は、dataset dictionary内のすべてのdatasetに適用されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.rename_columns({'text': 'text_new', 'label': 'label_new'})
DatasetDict({
    train: Dataset({
        features: ['text_new', 'label_new'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text_new', 'label_new'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text_new', 'label_new'],
        num_rows: 1066
    })
})
```

#### select_columns[[datasets.DatasetDict.select_columns]]

```python
select_columns(column_names: typing.Union[str, list[str]])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L463)

**パラメータ:**

column_names (`Union[str, list[str]]`) : 保持するカラムの名前。

データセットの各スプリットから、1つ以上のカラムおよびそのカラムに関連する特徴量を選択します。

変換は、データセット辞書のすべてのスプリットに適用されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes")
>>> ds.select_columns("text")
DatasetDict({
    train: Dataset({
        features: ['text'],
        num_rows: 8530
    })
    validation: Dataset({
        features: ['text'],
        num_rows: 1066
    })
    test: Dataset({
        features: ['text'],
        num_rows: 1066
    })
})
```

#### class_encode_column[[datasets.DatasetDict.class_encode_column]]

```python
class_encode_column(column: str, include_nulls: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L499)

**パラメータ:**

column (`str`) : キャストする列の名前。

include_nulls (`bool`、デフォルトは`False`) : クラスラベルにnull値を含めるかどうか。`True`の場合、null値は`"None"`クラスラベルとしてエンコードされます。

与えられたカラムを[ClassLabel](/docs/datasets/main/ja/package_reference/main_classes#datasets.ClassLabel)としてキャストし、テーブルを更新します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("google/boolq")
>>> ds["train"].features
{'answer': Value('bool'),
 'passage': Value('string'),
 'question': Value('string')}
>>> ds = ds.class_encode_column("answer")
>>> ds["train"].features
{'answer': ClassLabel(num_classes=2, names=['False', 'True']),
 'passage': Value('string'),
 'question': Value('string')}
```

#### push_to_hub[[datasets.DatasetDict.push_to_hub]]

```python
push_to_hub(repo_id: str, config_name: str = 'default', set_default: typing.Optional[bool] = None, data_dir: typing.Optional[str] = None, commit_message: typing.Optional[str] = None, commit_description: typing.Optional[str] = None, private: typing.Optional[bool] = None, token: typing.Optional[str] = None, revision: typing.Optional[str] = None, create_pr: typing.Optional[bool] = False, max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[dict[str, int]] = None, embed_external_files: bool = True, num_proc: typing.Optional[int] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1623)

**パラメータ:**

repo_id (`str`) : 以下の形式で、プッシュ先リポジトリのID: `<user>/<dataset_name>` または `<org>/<dataset_name>`。ログインユーザーのネームスペースをデフォルトとする `<dataset_name>` も受け付けます。また、バケット内の場所、例えば `buckets/<user_or_org>/<bucket_name>/...` のような形式も指定できます。

config_name (`str`) : データセットの設定名。デフォルトは "default" です。

set_default (`bool`, *任意*) : この設定をデフォルトとして設定するかどうか。設定しない場合、デフォルト設定は "default" という名前のものになります。

data_dir (`str`, *任意*) : アップロードされたデータファイルを含むディレクトリ名。`config_name`が"default"と異なる場合はその値、そうでない場合は"data"がデフォルトです。

commit_message (`str`, *任意*) : push 時にコミットするメッセージ。デフォルトは `"Upload dataset"` です。

commit_description (`str`, *任意*) : 作成されるコミットの説明。また、PRが作成される場合(`create_pr`がTrue)には、PRの説明も含まれます。

private (`bool`, *optional*) : リポジトリを非公開にするかどうか。`None`（デフォルト）の場合、組織のデフォルトが非公開でない限り、リポジトリは公開になります。リポジトリが既に存在する場合、この値は無視されます。

token (`str`, *任意*) : Hugging Face Hub 用の任意の認証トークンです。トークンが渡されない場合、`hf auth login` でログインした際にローカルに保存されたトークンがデフォルトで使用されます。トークンが渡されず、かつユーザーがログインしていない場合は、エラーが発生します。

revision (`str`, *任意*) : アップロードしたファイルをプッシュするブランチ。デフォルトでは`"main"`ブランチです。

create_pr (`bool`, *任意*, デフォルトは `False`) : アップロードしたファイルで PR を作成するか、直接コミットするかどうか。

max_shard_size (`int` または `str`、*任意*、デフォルトは `"500MB"`) : ハブにアップロードするデータセットのシャードの最大サイズ。文字列で指定する場合は、数字の後に単位（`"500MB"` や `"1GB"` など）を続ける必要があります。

num_shards (`Dict[str, int]`、*任意*) : 書き出すシャード数。デフォルトでは、シャード数は`max_shard_size`に依存します。辞書を使用して、各スプリットごとに異なるnum_shardsを定義できます。

embed_external_files (`bool`、デフォルトは`True`) : シャードにファイルのバイト列を埋め込むかどうか。具体的には、プッシュの前に、以下の型のフィールドに対して次の処理を行います。 - [Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio)および[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)は、ローカルパス情報を削除し、ファイルの内容をParquetファイルに埋め込みます。

num_proc (`int`、*optional*、デフォルトは`None`) : データセットの準備とアップロード時のプロセス数です。データセットが多数のサンプルや埋め込むメディアファイルで構成されている場合に役立ちます。HF への高速アップロードのための Rust クライアントである hf_xet と連携するために "spawn" コンテキストを使用します。マルチプロセッシングはデフォルトで無効です。

**戻り値:**

huggingface_hub.CommitInfo

[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict) を Parquet データセットとしてハブにプッシュします。[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict) は HTTP リクエストを使用してプッシュされるため、git や git-lfs のインストールは不要です。

各データセットの分割は独立してプッシュされます。プッシュされたデータセットは、元の分割名を保持します。

生成されるParquetファイルは、デフォルトで自己完結型です。データセットに[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)または[Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio)データが含まれている場合、Parquetファイルには画像や音声ファイルのバイトが保存されます。この機能を無効にするには、`embed_external_files`をFalseに設定してください。

例:

```python
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", num_shards={"train": 1024, "test": 8})
```

データセットに新しい設定（またはサブセット）を追加したい場合（データセットに複数のタスク/バージョン/言語がある場合など）：

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```

#### save_to_disk[[datasets.DatasetDict.save_to_disk]]

```python
save_to_disk(dataset_dict_path: typing.Union[str, bytes, os.PathLike], max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[dict[str, int]] = None, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1301)

**パラメータ:**

dataset_dict_path (`path-like`) : データセットディレクトリへのパス (例: `dataset/train`) またはリモート URI (例: `s3://my-bucket/dataset/train`)。データセットディクショナリが保存される場所です。

max_shard_size (`int` または `str`、*任意*、デフォルトは `"500MB"`) : ファイルシステムに保存されるデータセットのシャードの最大サイズです。文字列で指定する場合は、数字の後に単位（`"50MB"` など）を続ける必要があります。

num_shards (`Dict[str, int]`、*任意*) : 書き出すシャード数。デフォルトでは、シャード数は`max_shard_size`と`num_proc`によって決まります。データセット辞書内の各データセットについて、シャード数を指定する必要があります。各スプリットに対して異なるnum_shardsを定義するには、辞書を使用してください。

num_proc (`int`、*任意*、デフォルトは`None`) : データセットをローカルにダウンロードおよび生成する際のプロセス数です。デフォルトではマルチプロセッシングは無効になっています。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

`fsspec.spec.AbstractFileSystem` を使用して、データセットの辞書をファイルシステムに保存します。

[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)、[Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio)、[Video](/docs/datasets/main/ja/package_reference/main_classes#datasets.Video)データの場合:

Image()、Audio()、Video()のデータはすべてarrowファイルに保存されます。パスやURLを保存する場合は、Value("string")型を使用してください。

例:

```python
>>> dataset_dict.save_to_disk("path/to/dataset/directory")
>>> dataset_dict.save_to_disk("path/to/dataset/directory", max_shard_size="1GB")
>>> dataset_dict.save_to_disk("path/to/dataset/directory", num_shards={"train": 1024, "test": 8})
```

#### load_from_disk[[datasets.DatasetDict.load_from_disk]]

```python
load_from_disk(dataset_dict_path: typing.Union[str, bytes, os.PathLike], keep_in_memory: typing.Optional[bool] = None, storage_options: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1375)

**パラメータ:**

dataset_dict_path (`path-like`) : Path (例: `"dataset/train"`) またはリモート URI (例: `"s3//my-bucket/dataset/train"`)。dataset dict を読み込む対象の dataset dict ディレクトリを指定します。

keep_in_memory (`bool`、デフォルトは`None`) : データセットをメモリ内にコピーするかどうか。`None`の場合、`datasets.config.IN_MEMORY_MAX_SIZE`をゼロ以外に設定して明示的に有効にしない限り、データセットはメモリ内にコピーされません。詳細は[パフォーマンスの改善](../cache#improve-performance)セクションを参照してください。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

**戻り値:**

[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

`fsspec.spec.AbstractFileSystem` を使用して、ファイルシステムから、以前 `save_to_disk` で保存されたデータセットを読み込みます。

例:

```py
>>> ds = load_from_disk('path/to/dataset/directory')
```

#### from_csv[[datasets.DatasetDict.from_csv]]

```python
from_csv(path_or_paths: dict, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1435)

**パラメータ:**

path_or_paths (`dict` of path-like) : CSV ファイルのパス。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

cache_dir (str, *任意*, デフォルトは `"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

- ****kwargs** (追加のキーワード引数) : `pandas.read_csv` に渡すキーワード引数。

**戻り値:**

[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

CSVファイルから[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)を作成します。

例:

```py
>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_csv({'train': 'path/to/dataset.csv'})
```

#### from_json[[datasets.DatasetDict.from_json]]

```python
from_json(path_or_paths: dict, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1478)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : JSON Lines ファイルのパス。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

cache_dir (str, *任意*, デフォルトは `"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

- ****kwargs** (追加のキーワード引数) : `JsonConfig` に渡すキーワード引数。

**戻り値:**

[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

JSON Linesファイルから[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)を作成します。

例:

```py
>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_json({'train': 'path/to/dataset.json'})
```

#### from_parquet[[datasets.DatasetDict.from_parquet]]

```python
from_parquet(path_or_paths: dict, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, columns: typing.Optional[list[str]] = None, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1521)

**パラメータ:**

path_or_paths (`dict` of path-like) : CSV ファイルのパス。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

cache_dir (`str`、*任意*、デフォルトは`"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

columns (`list[str]`、*任意*) : `None` 以外の場合、ファイルからこれらのカラムのみが読み込まれます。カラム名はネストされたフィールドのプレフィックスとして指定でき、例えば 'a' を指定すると 'a.b'、'a.c'、'a.d.e' が選択されます。

- ****kwargs** (追加のキーワード引数) : `ParquetConfig`に渡すキーワード引数。

**戻り値:**

[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

Parquetファイルから[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)を作成します。

例:

```py
>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_parquet({'train': 'path/to/dataset/parquet'})
```

#### from_text[[datasets.DatasetDict.from_text]]

```python
from_text(path_or_paths: dict, features: typing.Optional[datasets.features.features.Features] = None, cache_dir: str = None, keep_in_memory: bool = False, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1570)

**パラメータ:**

path_or_paths (`dict` of path-like) : テキストファイルのパス。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

cache_dir (`str`、*任意*、デフォルトは`"~/.cache/huggingface/datasets"`) : データをキャッシュするディレクトリ。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

- ****kwargs** (追加のキーワード引数) : `TextConfig`に渡すキーワード引数。

**戻り値:**

[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)

テキストファイルから[DatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetDict)を作成します。

例:

```py
>>> from datasets import DatasetDict
>>> ds = DatasetDict.from_text({'train': 'path/to/dataset.txt'})
```

## IterableDataset[[datasets.IterableDataset]]

ベースクラス [IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset) は、Python のジェネレーターによって裏付けられる反復可能な Dataset を実装しています。

#### datasets.IterableDataset[[datasets.IterableDataset]]

```python
datasets.IterableDataset(ex_iterable: _BaseExamplesIterable, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, formatting: typing.Optional[datasets.iterable_dataset.FormattingConfig] = None, distributed: typing.Optional[datasets.iterable_dataset.DistributedConfig] = None, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L2690)

イテラブルでバックエンドされたDataset。

#### from_file[[datasets.IterableDataset.from_file]]

```python
from_file(filename: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3188)

**パラメータ:**

filename (`str`) : データセットのファイル名。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

filenameのArrowテーブルからIterableDatasetをインスタンス化します。

#### from_pandas[[datasets.IterableDataset.from_pandas]]

```python
from_pandas(df: DataFrame, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, preserve_index: typing.Optional[bool] = None, num_shards: typing.Optional[int] = 1)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3204)

**パラメータ:**

df (`pandas.DataFrame`) : データセットを含むデータフレーム。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

info (`DatasetInfo`, *任意*) : 説明や引用などのデータセット情報。

split (`NamedSplit`, *任意*) : データセットの分割の名前。

preserve_index (`bool`, *任意*) : 結果の Dataset にインデックスを追加の列として保存するかどうか。`None` がデフォルトで、`RangeIndex` はメタデータとしてのみ保存されますが、それ以外は列としてインデックスが保存されます。列として保存することを強制するには `preserve_index=True` を使用します。

num_shards (`int`、デフォルトは`1`) : イテラブルなデータセットをインスタンス化する際に定義するシャード数。これは、大きなデータセットでシャッフルを適切に行うために特に有用であり、PyTorchのDataLoaderによる高速な並列読み込みや、分散環境での処理を可能にするためにも役立ちます。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

`pandas.DataFrame`を`pyarrow.Table`に変換して、[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)を作成します。

結果として得られる Arrow Table のカラム型は、DataFrame 内の `pandas.Series` の dtype から推論されます。object 以外の Series の場合、NumPy の dtype はその Arrow 相当の型に変換されます。`object` の場合、この Series 内の Python オブジェクトを確認してデータ型を推測する必要があります。

`object` dtype の Series は、常に意味のある Arrow 型を導出するのに十分な情報を保持しているとは限りません。DataFrame の長さが 0 である場合や、Series が `None/nan` オブジェクトのみを含む場合など、型を推論できない場合は、型は `null` に設定されます。この挙動は、明示的な features を構築してこの関数に渡すことで回避できます。

Important: a dataset created with from_pandas() lives in memory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it on disk and reload using e.g. to_parquet / from_parquet.

例:

```py
>>> ds = IterableDataset.from_pandas(df)
```

#### from_dict[[datasets.IterableDataset.from_dict]]

```python
from_dict(mapping: dict, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, num_shards: typing.Optional[int] = 1)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3316)

**パラメータ:**

mapping (`Mapping`) : 文字列から配列またはPythonのリストへのマッピング。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

info (`DatasetInfo`, *任意*) : 説明や引用などのデータセット情報。

split (`NamedSplit`, *任意*) : データセットの分割の名前。

num_shards (`int`、デフォルトは`1`) : イテラブルなデータセットをインスタンス化する際に定義するシャード数。これは、大きなデータセットでシャッフルを適切に行うために特に有用であり、PyTorchのDataLoaderによる高速な並列読み込みや、分散環境での処理を可能にするためにも役立ちます。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

`dict`を`pyarrow.Table`に変換して、[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)を作成します。

Important: a dataset created with from_dict() lives in memory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. to_parquet / from_parquet.

#### from_list[[datasets.IterableDataset.from_list]]

```python
from_list(mapping: list, features: typing.Optional[datasets.features.features.Features] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, split: typing.Optional[datasets.splits.NamedSplit] = None, num_shards: typing.Optional[int] = 1)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3353)

**パラメータ:**

mapping (`List[dict]`) : 文字列から行の値へのマッピングのリスト。

features (`Features`、省略可) : データセットの機能。

info (`DatasetInfo`, 任意) : 説明や引用などのデータセット情報。

split (`NamedSplit`、省略可) : データセットの分割の名前。

num_shards (`int`、デフォルトは`1`) : イテラブルなデータセットをインスタンス化する際に定義するシャード数。これは、大きなデータセットでシャッフルを適切に行うために特に有用であり、PyTorchのDataLoaderによる高速な並列読み込みや、分散環境での処理を可能にするためにも役立ちます。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

辞書のリストを`pyarrow.Table`に変換して、[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)を作成します。

features に何かが渡された場合でも、最初のエントリのキーがデータセットの列を決定するために使用されることに注意してください。

Important: a dataset created with from_list() lives in memory. This may change in the future, but in the meantime if you want to reduce memory usage you should write it back on disk and reload using e.g. from_parquet / to_parquet.

#### from_generator[[datasets.IterableDataset.from_generator]]

```python
from_generator(generator: typing.Callable, features: typing.Optional[datasets.features.features.Features] = None, gen_kwargs: typing.Optional[dict] = None, split: NamedSplit = NamedSplit('train'))
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3090)

**パラメータ:**

generator (`Callable`) : 例を`yields`するジェネレーター関数。

features (`Features`、*任意*) : データセットの機能。

gen_kwargs(`dict`, *任意*) : `generator` 呼び出し可能オブジェクトに渡すキーワード引数です。`gen_kwargs` にシャードのリストを渡すことで、シャード化された反復可能データセットを定義できます。これにより、シャッフルの改善や、複数のワーカーでデータセットを反復する場合の処理に活用できます。

split ([NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)、デフォルトは`Split.TRAIN`) : データセットに割り当てられるスプリット名。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

ジェネレーターからIterable Datasetを作成します。

例:

```py
>>> def gen():
...     yield {"text": "Good", "label": 0}
...     yield {"text": "Bad", "label": 1}
...
>>> ds = IterableDataset.from_generator(gen)
```

```py
>>> def gen(shards):
...     for shard in shards:
...         with open(shard) as f:
...             for line in f:
...                 yield {"line": line}
...
>>> shards = [f"data{i}.txt" for i in range(32)]
>>> ds = IterableDataset.from_generator(gen, gen_kwargs={"shards": shards})
>>> ds = ds.shuffle(seed=42, buffer_size=10_000)  # shuffles the shards order + uses a shuffle buffer
>>> from torch.utils.data import DataLoader
>>> dataloader = DataLoader(ds.with_format("torch"), num_workers=4)  # give each worker a subset of 32/4=8 shards
```

#### remove_columns[[datasets.IterableDataset.remove_columns]]

```python
remove_columns(column_names: typing.Union[str, list[str]])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4343)

**パラメータ:**

column_names (`Union[str, List[str]]`) : 削除するカラムの名前。

**戻り値:** `IterableDataset`

削除するカラムを含まない、データセットオブジェクトのコピー。

datasetから1つ以上のカラムを削除し、それに関連する特徴量も削除します。削除は、datasetを反復処理する際に、各サンプルに対してオンザフライで実行されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .', 'label': 1}
>>> ds = ds.remove_columns("label")
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### select_columns[[datasets.IterableDataset.select_columns]]

```python
select_columns(column_names: typing.Union[str, list[str]])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4378)

**パラメータ:**

column_names (`Union[str, List[str]]`) : 選択するカラムの名前。

**戻り値:** `IterableDataset`

選択されたカラムを含むデータセットオブジェクトのコピー。

データセット内の1つ以上のカラムと、それに関連する特徴量を選択します。この選択は、データセットを反復処理する際に、各サンプルに対してオンザフライで実行されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .', 'label': 1}
>>> ds = ds.select_columns("text")
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### cast_column[[datasets.IterableDataset.cast_column]]

```python
cast_column(column: str, feature: typing.Union[dict, list, tuple, datasets.features.features.Value, datasets.features.features.ClassLabel, datasets.features.translation.Translation, datasets.features.translation.TranslationVariableLanguages, datasets.features.features.LargeList, datasets.features.features.List, datasets.features.features.Array2D, datasets.features.features.Array3D, datasets.features.features.Array4D, datasets.features.features.Array5D, datasets.features.audio.Audio, datasets.features.image.Image, datasets.features.mesh.Mesh, datasets.features.video.Video, datasets.features.pdf.Pdf, datasets.features.nifti.Nifti, datasets.features.bio_sequence.BioSequence, datasets.features.bio_structure.BioStructure])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4428)

**パラメータ:**

column (`str`) : 列名。

feature (`Feature`) : ターゲット特徴量。

**戻り値:** `IterableDataset`

デコード用にカラムをfeatureにキャストします。

例:

```py
>>> from datasets import load_dataset, Audio
>>> ds = load_dataset("PolyAI/minds14", name="en-US", split="train", streaming=True)
>>> ds.features
{'audio': Audio(sampling_rate=8000, mono=True, decode=True, id=None),
 'english_transcription': Value('string'),
 'intent_class': ClassLabel(num_classes=14, names=['abroad', 'address', 'app_error', 'atm_limit', 'balance', 'business_loan',  'card_issues', 'cash_deposit', 'direct_debit', 'freeze', 'high_value_payment', 'joint_account', 'latest_transactions', 'pay_bill']),
 'lang_id': ClassLabel(num_classes=14, names=['cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT', 'ko-KR',  'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'zh-CN']),
 'path': Value('string'),
 'transcription': Value('string')}
>>> ds = ds.cast_column("audio", Audio(sampling_rate=16000))
>>> ds.features
{'audio': Audio(sampling_rate=16000, mono=True, decode=True, id=None),
 'english_transcription': Value('string'),
 'intent_class': ClassLabel(num_classes=14, names=['abroad', 'address', 'app_error', 'atm_limit', 'balance', 'business_loan',  'card_issues', 'cash_deposit', 'direct_debit', 'freeze', 'high_value_payment', 'joint_account', 'latest_transactions', 'pay_bill']),
 'lang_id': ClassLabel(num_classes=14, names=['cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT', 'ko-KR',  'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'zh-CN']),
 'path': Value('string'),
 'transcription': Value('string')}
```

#### キャスト[[datasets.IterableDataset.cast]]

```python
cast(features: Features)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4474)

**パラメータ:**

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)) : データセットをキャストする新しい特徴量。features内のフィールド名は、現在の列名と一致する必要があります。また、データ型も、ある型から別の型へ変換可能である必要があります。`string`と`ClassLabel`のような非自明な変換を行う場合は、[map()](/docs/datasets/main/ja/package_reference/main_classes#datasets.Dataset.map)を使用してDatasetを更新してください。

**戻り値:** `IterableDataset`

キャストされた特徴量を持つデータセットのコピー。

データセットを新しい特徴量のセットにキャストします。

例:

```py
>>> from datasets import load_dataset, ClassLabel, Value
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> ds.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds.features.copy()
>>> new_features["label"] = ClassLabel(names=["bad", "good"])
>>> new_features["text"] = Value("large_string")
>>> ds = ds.cast(new_features)
>>> ds.features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```

#### デコード[[datasets.IterableDataset.decode]]

```python
decode(enable: bool = True, num_threads: typing.Optional[int] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4520)

**パラメータ:**

enable (`bool`、デフォルトは`True`) : 特徴量デコーディングの有効化または無効化。

num_threads (`int`、*任意*、デフォルトは`None`) : 特徴量のデコードにマルチスレッディングを有効にします。なお、[load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset)は、HF上でデコード可能な特徴量を持つデータセットをストリーミングする際、デフォルトでいくつかのスレッドを使用します。デフォルトでは、デコードを必要とする特徴量が少なくとも1つある場合は`num_threads`が32に、それ以外の場合は0に設定されます。

**戻り値:** `IterableDataset`

キャストされた特徴量を持つデータセットのコピー。

音声、画像、動画のデータセット機能のデコードを有効化または無効化します。

有効な場合（デフォルト）、メディアタイプはデコードされます：

* audio -> "array"、"sampling_rate"、"path" の辞書
* image -> PIL.Image
* video -> torchcodec.decoders.VideoDecoder

`num_threads` を設定することでマルチスレッドを有効にできます。これにより、各メディアファイルはワーカースレッドで読み取り・デコードされ、連続するサンプル間のネットワーク往復がオーバーラップします。これはリモートデータストリーミングの高速化に特に有用であり、デコード可能な特徴量を持つリモートデータセットをストリーミングする場合、[load_dataset()](/docs/datasets/main/ja/package_reference/loading_methods#datasets.load_dataset) はデフォルトでこれを有効にしています（`HF_DATASETS_DECODE_NUM_THREADS` を参照）。ローカルディスクから読み取られるデータセットは、高速ディスク上のローカルデータではメインスレッドでのデコードよりもマルチスレッドの方が遅くなる可能性があるため、`num_threads=0` でストリーミングされます。サンプルは事前にデコードされるため、実行中の各スレッドはメモリに1つのサンプルを保持できます。メモリ使用量を減らすには、`num_threads` を下げてください。

デコードを無効にすると、メディアファイルのパスやバイト列を反復処理したいが、その内容をデコードしたくない場合に便利です。デコードを無効にするには、`.decode(False)`を使用できます。これは、すべてのAudio、Image、Video型を`decode=False`に設定して`.cast()`または`.cast_column()`を呼び出すことと同等です。

例:

デコードを無効にする:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("sshh12/planet-textures", split="train", streaming=True)
>>> next(iter(ds))
{'image': <PIL.PngImagePlugin.PngImageFile image mode=RGB size=2048x1024>,
'text': 'A distant celestial object with an icy crust, displaying a light blue shade, covered with round pits and rugged terrains.'}
>>> ds = ds.decode(False)
>>> ds.features
{'image': Image(mode=None, decode=False, id=None),
'text': Value('string')}
>>> next(iter(ds))
{
  'image': {
    'path': 'hf://datasets/sshh12/planet-textures@69dc4cef7a5c4b2cfe387727ec8ea73d4bff7302/train/textures/0000.png',
    'bytes': None
  },
  'text': 'A distant celestial object with an icy crust, displaying a light blue shade, covered with round pits and rugged terrains.'
}
```

マルチスレッドでストリーミングを高速化:

```py
>>> import os
>>> from datasets import load_dataset
>>> from tqdm import tqdm
>>> ds = load_dataset("sshh12/planet-textures", split="train", streaming=True)
>>> # already threaded by default with 32 threads, but more threads can help going even faster
>>> ds = ds.decode(num_threads=64)
>>> for _ in tqdm(ds):  # 2 times faster !
...     ...
```

#### __iter__[[datasets.IterableDataset.__iter__]]

```python
__iter__()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3035)

#### iter[[datasets.IterableDataset.iter]]

```python
iter(batch_size: int, drop_last_batch: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3056)

**パラメータ:**

batch_size (`int`) : 各バッチのサイズ。

drop_last_batch (`bool`、デフォルトは *False*) : batch_size より小さい最後のバッチを破棄するかどうか

サイズが*batch_size*のバッチを反復します。

#### map[[datasets.IterableDataset.map]]

```python
map(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, drop_last_batch: bool = False, remove_columns: typing.Union[str, list[str], NoneType] = None, features: typing.Optional[datasets.features.features.Features] = None, fn_kwargs: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3676)

**パラメータ:**

function (`Callable`、*任意*、デフォルトは`None`) : データセットを反復処理する際に、サンプルに対してオンザフライで適用される関数です。以下のいずれかのシグネチャを持つ必要があります: - `batched=False`かつ`with_indices=False`の場合、`function(example: Dict[str, Any]) -> Dict[str, Any]` - `batched=False`かつ`with_indices=True`の場合、`function(example: Dict[str, Any], idx: int) -> Dict[str, Any]` - `batched=True`かつ`with_indices=False`の場合、`function(batch: Dict[str, List]) -> Dict[str, List]` - `batched=True`かつ`with_indices=True`の場合、`function(batch: Dict[str, List], indices: List[int]) -> Dict[str, List]` 高度な使用法として、関数は`pyarrow.Table`を返すこともできます。関数が非同期の場合、`map`は関数を並列で実行します。また、関数が何も返さない(`None`)場合、`map`は関数を実行し、データセットを変更せずに返します。関数が指定されない場合、恒等関数`lambda x: x`がデフォルトとして使用されます。

with_indices (`bool`、デフォルトは`False`) : `function`にインデックスの例を提供します。この場合、`function`のシグネチャは`def function(example, idx[, rank]): ...`である必要があります。

input_columns (`Optional[Union[str, List[str]]]`、デフォルトは`None`) : `function`に位置引数として渡す列を指定します。`None`の場合、フォーマットされたすべての列へのマッピングを含む辞書が1つの引数として渡されます。

batched (`bool`、デフォルトは`False`) : `function`にバッチの例を提供します。

batch_size (`int`、*任意*、デフォルトは`1000`) : `batched=True`の場合、`function`にバッチごとに提供されるサンプル数。`batch_size <= 0`または`batch_size == None`の場合、`function`にデータセット全体を単一のバッチとして提供します。

drop_last_batch (`bool`、デフォルトは`False`) : batch_sizeより小さい最後のバッチを、関数で処理する代わりに破棄するかどうか。

remove_columns (`[List[str]]`、*任意*、デフォルトは`None`) : マッピング処理中に特定の列を削除します。列は、`function`の出力で例を更新する前に削除されます。つまり、`function`が`remove_columns`に名前が指定された列を追加する場合でも、それらの列は保持されます。

features (`[Features]`、*任意*、デフォルトは`None`) : 結果のデータセットの機能タイプ。

fn_kwargs (`Dict`、*任意*、デフォルトは`None`) : `function`に渡すキーワード引数。

イテラブルなデータセット内のすべての例（個別またはバッチ単位で）に関数を適用して、それらを更新します。関数がすでに存在するカラムを返す場合、そのカラムは上書きされます。関数は、データセットをイテレーションする際に、例に対してオンザフライで適用されます。

`batched` パラメータで、関数をバッチ処理にするかどうかを指定できます:

- `False`の場合、関数は1つの例を受け取り、1つの例を返す必要があります。例は辞書であり、例えば`{"text": "Hello there !"}`です。
- `True` かつ `batch_size` が 1 の場合、この関数は 1 つのサンプルからなるバッチを入力として受け取り、1 つ以上のサンプルからなるバッチを返すことができます。バッチは辞書であり、例えば 1 つのサンプルからなるバッチは {"text": ["Hello there !"]} のようになります。
- `True` かつ `batch_size` が `n` > 1 の場合、この関数は `n` 個のサンプルのバッチを入力として受け取り、`n` 個のサンプルを含むバッチ、または任意の数のサンプルを含むバッチを返すことができます。最後のバッチは `n` 個未満のサンプルを含む場合があります。バッチは辞書であり、例えば `n` 個のサンプルのバッチは `{"text": ["Hello there !"] * n}` のようになります。

関数が非同期の場合、`map`は最大1,000回の同時呼び出しで、関数を並列に実行します。同時に実行できる操作の最大数を設定したい場合は、関数内で`asyncio.Semaphore`を使用することをお勧めします。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'Review: the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'Review: the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'Review: effective but too-tepid biopic'}]
```

#### rename_column[[datasets.IterableDataset.rename_column]]

```python
rename_column(original_column_name: str, new_column_name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4288)

**パラメータ:**

original_column_name (`str`) : 名前を変更するカラムの名前。

new_column_name (`str`) : 列の新しい名前。

**戻り値:** `IterableDataset`

列名が変更されたデータセットのコピー。

dataset内のカラム名を変更し、元のカラムに関連付けられた特徴量を新しいカラム名の下に移動します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
>>> ds = ds.rename_column("text", "movie_review")
>>> next(iter(ds))
{'label': 1,
 'movie_review': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### フィルター[[datasets.IterableDataset.filter]]

```python
filter(function: typing.Optional[typing.Callable] = None, with_indices = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, fn_kwargs: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3858)

**パラメータ:**

function (`Callable`) : 以下のいずれかのシグネチャを持つ Callable: - `with_indices=False, batched=False` の場合、`function(example: Dict[str, Any]) -> bool` - `with_indices=True, batched=False` の場合、`function(example: Dict[str, Any], indices: int) -> bool` - `with_indices=False, batched=True` の場合、`function(example: Dict[str, List]) -> List[bool]` - `with_indices=True, batched=True` の場合、`function(example: Dict[str, List], indices: List[int]) -> List[bool]` 関数が非同期の場合、`filter` は関数を並列で実行します。関数が指定されていない場合、常に True を返す関数 `lambda x: True` がデフォルトとして使用されます。

with_indices (`bool`、デフォルトは`False`) : `function`にインデックスの例を提供します。この場合、`function`のシグネチャは`def function(example, idx): ...`である必要があります。

input_columns (`str` または `List[str]`、*省略可能*) : `function` に位置引数として渡す列を指定します。`None` の場合、すべての整形済み列へのマッピングを含む dict が 1 つの引数として渡されます。

batched (`bool`、デフォルトは`False`) : `function`にバッチの例を提供します。

batch_size (`int`, *任意*, デフォルト `1000`) : `batched=True` の場合、`function` に渡されるバッチあたりのサンプル数。

fn_kwargs (`Dict`、*任意*、デフォルトは`None`) : `function`に渡すキーワード引数。

フィルタ関数をすべての要素に適用し、フィルタ関数に合致する例のみを含むようにデータセットを絞り込みます。フィルタリングは、データセットを反復処理する際にオンザフライで実行されます。

関数が非同期の場合、`filter`は最大1000回の同時呼び出し（設定可能）まで、関数を並列で実行します。同時に実行できる操作の最大数を設定したい場合は、関数内で`asyncio.Semaphore`を使用することをお勧めします。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> ds = ds.filter(lambda x: x["label"] == 0)
>>> list(ds.take(3))
[{'label': 0, 'movie_review': 'simplistic , silly and tedious .'},
 {'label': 0,
 'movie_review': "it's so laddish and juvenile , only teenage boys could possibly find it funny ."},
 {'label': 0,
 'movie_review': 'exploitative and largely devoid of the depth or sophistication that would make watching such a graphic treatment of the crimes bearable .'}]
```

#### シャッフル[[datasets.IterableDataset.shuffle]]

```python
shuffle(seed = None, generator: typing.Optional[numpy.random._generator.Generator] = None, buffer_size: int = 1000, max_buffer_input_shards: int = 10)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3961)

**パラメータ:**

seed (`int`、*任意*、デフォルトは`None`) : データセットのシャッフルに使用されるランダムシードです。シャッフルバッファからのサンプリングや、データシャードのシャッフルにも使用されます。

generator (`numpy.random.Generator`, *オプション*) : データセットの行の置換を計算するために使用する Numpy ランダム Generator。`generator=None`（デフォルト）の場合、`np.random.default_rng`（NumPy のデフォルト BitGenerator (PCG64)）を使用します。

buffer_size (`int`、デフォルトは`1000`) : バッファのサイズ。

max_buffer_input_shards (`int`、デフォルトは`10`) : バッファに一度に供給するために使用するシャードの最大数。

このデータセットの要素をランダムにシャッフルします。

このデータセットは、`buffer_size`個の要素でバッファを埋め、その後、このバッファから要素をランダムにサンプリングし、選択された要素を新しい要素で置き換えます。完全なシャッフルを行うには、データセット全体のサイズ以上であるバッファサイズが必要です。

例えば、データセットに10,000個の要素が含まれているが`buffer_size`が1000に設定されている場合、`shuffle`は最初にバッファ内の最初の1000個の要素からランダムに1つを選択します。要素が選択されると、そのバッファ内のスペースは次の（つまり1,001番目の）要素で置き換えられ、1000個の要素からなるバッファが維持されます。

データセットが複数のシャードで構成されている場合、バッファには一度に最大`max_buffer_input_shards`個のシャードを使用して充填され、シャードの順序もシャッフルされます。これにより、シャッフルの品質が大幅に向上します。入力シャードは各ノードおよびワーカー内でインターリーブされ、並列データ読み込みのために利用可能なシャード数が維持されます。

ただし、[skip()](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset.skip) または [take()](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset.take) を使用して順序が固定されている場合、シャードの順序は変更されず、バッファを埋めるために一度に1つのシャードのみが使用されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> list(ds.take(3))
[{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
 'label': 1},
 {'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .',
 'label': 1},
 {'text': 'effective but too-tepid biopic', 'label': 1}]
>>> shuffled_ds = ds.shuffle(seed=42)
>>> list(shuffled_ds.take(3))
[{'text': "a sports movie with action that's exciting on the field and a story you care about off it .",
 'label': 1},
 {'text': 'at its best , the good girl is a refreshingly adult take on adultery . . .',
 'label': 1},
 {'text': "sam jones became a very lucky filmmaker the day wilco got dropped from their record label , proving that one man's ruin may be another's fortune .",
 'label': 1}]
>>> resharded_ds = ds.reshard()  # useful to shard Parquet datasets by row group instead of by file, improving shuffling quality on dataset with one or few files.
>>> shuffled_resharded_ds = resharded_ds.shuffle(seed=42)
>>> list(shuffled_resharded_ds.take(3))
[{'text': 'this mistaken-identity picture is so film-culture referential that the final product is a ghost .',
 'label': 0},
 {'text': 'woody allen used to ridicule movies like hollywood ending . now he makes them .',
 'label': 0},
 {'text': "not only is undercover brother as funny , if not more so , than both austin powers films , but it's also one of the smarter , savvier spoofs to come along in some time .",
 'label': 1}]
```

#### バッチ[[datasets.IterableDataset.batch]]

```python
batch(batch_size: typing.Optional[int] = None, by_column: typing.Union[str, list[str], NoneType] = None, drop_last_batch: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4657)

**パラメータ:**

batch_size (`int`, 省略可能) : 各バッチに含まれるサンプル数。

by_column (`Union[str, list[str]`, optional) : 例をバッチにまとめるために使用する列。この列の値が同じ連続する例は、同じバッチにグループ化されます。複数の列でバッチングを行いたい場合は、列のリストを指定することもできます。列によるバッチングの場合、batch_size は、蓄積中にグループ化またはスライスするバッチのサイズを制御するためにのみ使用されます。

drop_last_batch (`bool`、デフォルトは`False`) : 最後の不完全なバッチを破棄するかどうか。

データセットからサンプルをバッチにグループ化します。

例:

固定バッチサイズ:

```py
>>> ds = load_dataset("some_dataset", streaming=True, split="train")
>>> batched_ds = ds.batch(batch_size=32)
```

「my_column」の値が同一である連続するサンプルのバッチ:

```py
>>> ds = load_dataset("some_dataset", streaming=True, split="train")
>>> batched_ds = ds.batch(by_column="my_column")
```

#### スキップ[[datasets.IterableDataset.skip]]

```python
skip(n: int)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4058)

**パラメータ:**

n (`int`) : 読み飛ばす要素の数。

最初の`n`個の要素をスキップする新しい[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)を作成します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
>>> ds = ds.skip(1)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'if you sometimes like to go to the movies to have fun , wasabi is a good place to start .'}]
```

#### take[[datasets.IterableDataset.take]]

```python
take(n: int)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4144)

**パラメータ:**

n (`int`) : 取得する要素の数。

最初の`n`要素のみを含む新しい[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)を作成します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> small_ds = ds.take(2)
>>> list(small_ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'}]
```

#### shard[[datasets.IterableDataset.shard]]

```python
shard(num_shards: int, index: int, contiguous: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4179)

**パラメータ:**

num_shards (`int`) : データセットを分割するシャード数。

index (`int`) : 選択して返すシャード。

contiguous : (`bool`、デフォルトは`True`): シャードのインデックスとして連続するブロックを選択するかどうか。

`num_shards`個に分割したデータセット分割から、`index`番目のシャードを返します。

これは決定論的にシャード化されます。`dataset.shard(n, i)` はデータセットを連続するチャンクに分割するため、処理後に簡単に再結合できます。`dataset.num_shards % n == l` の場合、最初の `l` 個のデータセットはそれぞれ `(dataset.num_shards // n) + 1` 個のシャードを持ち、残りのデータセットは `(dataset.num_shards // n)` 個のシャードを持ちます。`datasets.concatenate_datasets([dset.shard(n, i) for i in range(n)])` は、元のデータセットと同じ順序を持つデータセットを返します。特に、`dataset.shard(dataset.num_shards, i)` は 1 個のシャードを持つデータセットを返します。

注: `dataset.num_shards` であるデータセットのシャード数以下である必要があります。

On the other hand, `dataset.shard(n, i, contiguous=False)` contains all the shards of the dataset whose index mod `n = i`.

`shuffle` のようなランダム化演算子を使用する前に、必ずシャード化してください。シャード化演算子は、データセットのパイプラインの早い段階で使用するのが望ましいです。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("fancyzhx/amazon_polarity", split="train", streaming=True)
>>> ds
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 4
})
>>> ds.shard(num_shards=2, index=0)
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 2
})
```

#### reshard[[datasets.IterableDataset.reshard]]

```python
reshard()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4235)

可能な場合は、データセットをリシャードします。つまり、現在のシャードをさらに多くのシャードに分割します。これによりシャードの数が増加し、結果として得られるデータセットの num_shards は previous_num_shards 以上になります。どのシャードもこれ以上分割できない場合、等号が成立する可能性があります。

リシャーディングの仕組みは、データセットのファイル形式によって異なります:

* Parquet: ファイル単位ではなく、行グループ単位でシャード化
* Vortex: ファイルごとではなく、連続するチャンクの範囲ごとにシャードを作成します（各シャードは約64MBのファイルデータに対応します）
* その他: 未実装（コントリビューション大歓迎！）

`shuffle` のようなランダム化演算子を使用する前に、必ずreshard/shardを実行してください。shard演算子は、データセットのパイプラインの早い段階で使用するのが望ましいです。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("fancyzhx/amazon_polarity", split="train", streaming=True)
>>> ds
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 4
})
>>> ds.reshard()
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 3600
})
```

#### repeat[[datasets.IterableDataset.repeat]]

```python
repeat(num_times: typing.Optional[int])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4100)

**パラメータ:**

num_times (`int`) または (`None`) : データセットを繰り返す回数。`None` の場合、データセットは無限に繰り返されます。

`num_times` 回、元のデータセットを繰り返す新しい [IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset) を作成します。

空のインプットは、`num_times`が`None`の場合でも処理を終了します。

N.B. repeat の後に shuffle を呼び出す場合の効果は、バッファサイズに大きく依存します。buffer_size が 1 の場合、シャッフル後も同じイテレーション内で重複したデータを見ることはありません: ds.repeat(n).shuffle(seed=42, buffer_size=1) は ds.shuffle(seed=42, buffer_size=1).repeat(n) と同等であり、各イテレーション内のシャード順序のみをシャッフルします。バッファサイズが >= (データセット内のサンプル数 * num_times) の場合、繰り返しされたデータが完全にシャッフルされ、つまり同じイテレーション内で重複を観察できるようになります。

例:
```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds = ds.take(2).repeat(2)
>>> list(ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
```

#### to_csv[[datasets.IterableDataset.to_csv]]

```python
to_csv(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **to_csv_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4856)

**パラメータ:**

path_or_buf (`PathLike` または `FileOrBuffer`) : ファイルへのパス（例: `file.csv`）、リモート URI（例: `hf://datasets/username/my_dataset_name/data.csv`）、または BinaryIO のいずれかです。指定された形式でデータセットが保存される先です。

batch_size (`int`, *optional*) : メモリに読み込み、一度に書き込むバッチのサイズ。デフォルトは`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

- ****to_csv_kwargs** (追加のキーワード引数) : [`pandas.DataFrame.to_csv`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html) に渡すパラメータです。指定されない場合、パラメータ `index` はデフォルトで `False` になります。インデックスを書き出したい場合は、`index=True` を渡し、かつ `index_label` を渡してインデックス列の名前を設定してください。

**戻り値:** `int`

書き込まれた文字数またはバイト数。

csvにデータセットをエクスポートします。

これは、データセットを反復処理し、書き込む前に完全にメモリに読み込む処理です。

例:

```py
>>> ds.to_csv("path/to/dataset/directory")
```

#### to_pandas[[datasets.IterableDataset.to_pandas]]

```python
to_pandas(batch_size: typing.Optional[int] = None, batched: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4777)

**パラメータ:**

batch_size (`int`, *optional*) : `batched`が`True`の場合のバッチサイズ（行数）です。デフォルト値は`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

batched (`bool`) : `True`に設定すると、`batch_size`行のバッチとしてデータセットを生成するジェネレーターを返します。デフォルトは`False`（一度にデータセット全体を返します）。

**戻り値:**

`pandas.DataFrame`または`Iterator[pandas.DataFrame]`

`pandas.DataFrame` としてデータセットを返します。大規模なデータセットの場合は、ジェネレーターを返すこともできます。

例:

```py
>>> ds.to_pandas()
```

#### to_dict[[datasets.IterableDataset.to_dict]]

```python
to_dict(batch_size: typing.Optional[int] = None, batched: bool = False)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4737)

**パラメータ:**

batch_size (`int`, *optional*) : `batched`が`True`の場合のバッチサイズ（行数）です。デフォルト値は`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

**戻り値:**

`dict`または`Iterator[dict]`

Pythonのdictとしてデータセットを返します。大規模なデータセットの場合は、ジェネレーターを返すこともできます。

例:

```py
>>> ds.to_dict()
```

#### to_json[[datasets.IterableDataset.to_json]]

```python
to_json(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **to_json_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4899)

**パラメータ:**

path_or_buf (`PathLike` または `FileOrBuffer`) : ファイルへのパス（例: `file.json`）、リモート URI（例: `hf://datasets/username/my_dataset_name/data.json`）、または BinaryIO のいずれかです。指定された形式でデータセットが保存される先です。

batch_size (`int`, *optional*) : メモリに読み込み、一度に書き込むバッチのサイズ。デフォルトは`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

- ****to_json_kwargs** (additional keyword arguments) : Parameters to pass to pandas's [`pandas.DataFrame.to_json`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html). Default arguments are `lines=True` and `orient="records". The parameter `index` defaults to `False` if `orient` is `"split"` or `"table"`. If you would like to write the index, pass `index=True`.

**戻り値:** `int`

書き込まれた文字数またはバイト数。

JSON LinesまたはJSONにデータセットをエクスポートします。

これは、データセットを反復処理し、書き込む前に完全にメモリに読み込む処理です。

デフォルトの出力形式は[JSON Lines](https://jsonlines.org/)です。[JSON](https://www.json.org)にエクスポートするには、`lines=False`引数と希望する`orient`を渡します。

例:

```py
>>> ds.to_json("path/to/dataset/directory/filename.jsonl")
```

```py
>>> num_shards = dataset.num_shards
>>> for index in range(num_shards):
...     shard = dataset.shard(index, num_shards)
...     shard.to_json(f"path/of/my/dataset/data-{index:05d}.jsonl")
```

#### to_parquet[[datasets.IterableDataset.to_parquet]]

```python
to_parquet(path_or_buf: typing.Union[str, bytes, os.PathLike, typing.BinaryIO], batch_size: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **parquet_writer_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4995)

**パラメータ:**

path_or_buf (`PathLike` または `FileOrBuffer`) : ファイルへのパス（例: `file.parquet`）、リモート URI（例: `hf://datasets/username/my_dataset_name/data.parquet`）、または BinaryIO のいずれかです。指定された形式でデータセットが保存される先です。

batch_size (`int`, *optional*) : メモリに読み込み、一度に書き込むバッチのサイズ。デフォルトは`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

storage_options (`dict`, *任意*) : ファイルシステムバックエンドに渡すキー/値のペア（該当する場合）。

- ****parquet_writer_kwargs** (追加のキーワード引数): PyArrowの`pyarrow.parquet.ParquetWriter`に渡すパラメータ。

**戻り値:** `int`

書き込まれた文字数またはバイト数。

データセットをparquetにエクスポートします

例:

```py
>>> ds.to_parquet("path/to/dataset/directory")
```

```py
>>> num_shards = dataset.num_shards
>>> for index in range(num_shards):
...     shard = dataset.shard(index, num_shards)
...     shard.to_parquet(f"path/of/my/dataset/data-{index:05d}.parquet")
```

#### to_sql[[datasets.IterableDataset.to_sql]]

```python
to_sql(name: str, con: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')], batch_size: typing.Optional[int] = None, **sql_writer_kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L4953)

**パラメータ:**

name (`str`) : SQLテーブルの名前。

con (`str` または `sqlite3.Connection` または `sqlalchemy.engine.Connection` または `sqlalchemy.engine.Connection`) : データベースに書き込むために使用する[URI文字列](https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls)またはSQLite3/SQLAlchemyの接続オブジェクト。

batch_size (`int`, *optional*) : メモリに読み込み、一度に書き込むバッチのサイズ。デフォルトは`datasets.config.DEFAULT_MAX_BATCH_SIZE`です。

- ****sql_writer_kwargs** (追加のキーワード引数) : [`pandas.DataFrame.to_sql`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html) に渡すパラメータです。`index` パラメータは、指定がない場合、デフォルトで `False` になります。インデックスを書き込みたい場合は、`index=True` を渡し、`index_label` を渡してインデックス列の名前も設定してください。

**戻り値:** `int`

書き込まれたレコードの数。

データセットをSQLデータベースにエクスポートします。

例:

```py
>>> # con provided as a connection URI string
>>> ds.to_sql("data", "sqlite:///my_own_db.sql")
>>> # con provided as a sqlite3 connection object
>>> import sqlite3
>>> con = sqlite3.connect("my_own_db.sql")
>>> with con:
...     ds.to_sql("data", con)
```

#### push_to_hub[[datasets.IterableDataset.push_to_hub]]

```python
push_to_hub(repo_id: str, config_name: str = 'default', set_default: typing.Optional[bool] = None, split: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, commit_message: typing.Optional[str] = None, commit_description: typing.Optional[str] = None, private: typing.Optional[bool] = None, token: typing.Optional[str] = None, revision: typing.Optional[str] = None, create_pr: typing.Optional[bool] = False, max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[int] = None, embed_external_files: bool = True, num_proc: typing.Optional[int] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L5330)

**パラメータ:**

repo_id (`str`) : 以下の形式で、プッシュ先リポジトリのID: `<user>/<dataset_name>` または `<org>/<dataset_name>`。ログインユーザーのネームスペースをデフォルトとする `<dataset_name>` も受け付けます。また、バケット内の場所、例えば `buckets/<user_or_org>/<bucket_name>/...` のような形式も指定できます。

config_name (`str`、デフォルトは "default") : データセットの設定名（またはサブセット）です。デフォルトは "default" です。

set_default (`bool`, *任意*) : この設定をデフォルトとして設定するかどうか。設定しない場合、デフォルト設定は "default" という名前のものになります。

split (`str`, *任意*) : そのデータセットに割り当てられるスプリットの名前。デフォルトは`self.split`です。

data_dir (`str`, *任意*) : アップロードされたデータファイルを含むディレクトリ名。`config_name`が"default"と異なる場合はその値、そうでない場合は"data"がデフォルトです。

commit_message (`str`, *任意*) : push 時にコミットするメッセージ。デフォルトは `"Upload dataset"` です。

commit_description (`str`, *任意*) : 作成されるコミットの説明。また、PRが作成される場合(`create_pr`がTrue)には、PRの説明も含まれます。

private (`bool`, *optional*) : リポジトリを非公開にするかどうか。`None`（デフォルト）の場合、組織のデフォルトが非公開でない限り、リポジトリは公開になります。リポジトリが既に存在する場合、この値は無視されます。

token (`str`, *任意*) : Hugging Face Hub 用の任意の認証トークンです。トークンが渡されない場合、`hf auth login` でログインした際にローカルに保存されたトークンがデフォルトで使用されます。トークンが渡されず、かつユーザーがログインしていない場合は、エラーが発生します。

revision (`str`, *任意*) : アップロードしたファイルをプッシュするブランチ。デフォルトでは`"main"`ブランチです。

create_pr (`bool`, *任意*, デフォルトは `False`) : アップロードしたファイルで PR を作成するか、直接コミットするかどうか。

max_shard_size (`int` または `str`、*省略可能*) : ハブにアップロードするデータセットのシャードの最大サイズ（オプション）。文字列で指定する場合は、数字の後に単位（`"5MB"` など）を続ける必要があります。指定しない場合、シャード数はこのデータセットの `.num_shards` がデフォルトとして使用されます。

num_shards (`int`, *optional*) : 書き出すシャード数。`max_shard_size` が指定され、`num_shards` が指定されていない場合、シャード数は`max_shard_size`から推定されます。このデータセットの`.num_shards`よりも大きくなる場合があります。その場合、各入力シャードのサンプルをラウンドロビン方式で複数の出力シャードに書き込むことで、入力シャードが複数の出力シャードに分散されます。

embed_external_files (`bool`、デフォルトは`True`) : シャードにファイルのバイト列を埋め込むかどうか。具体的には、プッシュの前に、以下の型のフィールドに対して次の処理を行います。 - [Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio)および[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image): ローカルパス情報を削除し、ファイルの内容をParquetファイルに埋め込みます。

num_proc (`int`、*optional*、デフォルトは`None`) : データセットの準備とアップロード時のプロセス数です。データセットが多数のサンプルや変換で構成されている場合に役立ちます。HF への高速アップロードのための Rust クライアントである hf_xet と連携するために "spawn" コンテキストを使用します。マルチプロセッシングはデフォルトで無効です。

**戻り値:**

huggingface_hub.CommitInfo

Parquet データセットとしてハブにプッシュします。データセットは HTTP リクエストを使用してプッシュされるため、git または git-lfs のインストールは不要です。

生成される Parquet ファイルは、デフォルトで自己完結型です。データセットに [Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)、[Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio) または [Video](/docs/datasets/main/ja/package_reference/main_classes#datasets.Video) データが含まれている場合、Parquet ファイルには画像や音声ファイルのバイトが保存されます。この動作を無効にするには、`embed_external_files` を `False` に設定してください。

例:

```python
>>> dataset.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset.push_to_hub("<organization>/<dataset_id>", num_shards=1024)
```

データセットに複数のスプリット（例：train/validation/test）がある場合：

```python
>>> train_dataset.push_to_hub("<organization>/<dataset_id>", split="train")
>>> val_dataset.push_to_hub("<organization>/<dataset_id>", split="validation")
>>> # later
>>> dataset = load_dataset("<organization>/<dataset_id>")
>>> train_dataset = dataset["train"]
>>> val_dataset = dataset["validation"]
```

データセットに新しい設定（またはサブセット）を追加したい場合（データセットに複数のタスク/バージョン/言語がある場合など）：

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```

#### load_state_dict[[datasets.IterableDataset.load_state_dict]]

```python
load_state_dict(state_dict: dict)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L2800)

datasetのstate_dictを読み込みます。状態が保存された時点の次の例から反復が再開されます。

再開すると、チェックポイントが保存された時点から正確に再開されますが、以下の2つの場合を除きます。

1. shuffle buffersからのexamplesは、再開時に失われ、バッファは新しいデータで再充填されます
2. `.with_format(arrow)`とバッチ化された`.map()`の組み合わせでは、1つのバッチがスキップされる可能性があります。

例:

```py
>>> from datasets import Dataset, concatenate_datasets
>>> ds = Dataset.from_dict({"a": range(6)}).to_iterable_dataset(num_shards=3)
>>> for idx, example in enumerate(ds):
...     print(example)
...     if idx == 2:
...         state_dict = ds.state_dict()
...         print("checkpoint")
...         break
>>> ds.load_state_dict(state_dict)
>>> print(f"restart from checkpoint")
>>> for example in ds:
...     print(example)
```

以下を返します:
```
{'a': 0}
{'a': 1}
{'a': 2}
checkpoint
restart from checkpoint
{'a': 3}
{'a': 4}
{'a': 5}
```

```py
>>> from torchdata.stateful_dataloader import StatefulDataLoader
>>> ds = load_dataset("deepmind/code_contests", streaming=True, split="train")
>>> dataloader = StatefulDataLoader(ds, batch_size=32, num_workers=4)
>>> # checkpoint
>>> state_dict = dataloader.state_dict()  # uses ds.state_dict() under the hood
>>> # resume from checkpoint
>>> dataloader.load_state_dict(state_dict)  # uses ds.load_state_dict() under the hood
```

#### state_dict[[datasets.IterableDataset.state_dict]]

```python
state_dict()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L2747)

**戻り値:** `dict`

データセットの現在の state_dict を取得します。これは、最後に生成された例の状態に対応します。

再開すると、チェックポイントが保存された時点から正確に再開されますが、以下の2つの場合を除きます。

1. shuffle buffersからのexamplesは、再開時に失われ、バッファは新しいデータで再充填されます
2. `.with_format(arrow)`とバッチ化された`.map()`の組み合わせでは、1つのバッチがスキップされる可能性があります。

例:

```py
>>> from datasets import Dataset, concatenate_datasets
>>> ds = Dataset.from_dict({"a": range(6)}).to_iterable_dataset(num_shards=3)
>>> for idx, example in enumerate(ds):
...     print(example)
...     if idx == 2:
...         state_dict = ds.state_dict()
...         print("checkpoint")
...         break
>>> ds.load_state_dict(state_dict)
>>> print(f"restart from checkpoint")
>>> for example in ds:
...     print(example)
```

以下を返します:
```
{'a': 0}
{'a': 1}
{'a': 2}
checkpoint
restart from checkpoint
{'a': 3}
{'a': 4}
{'a': 5}
```

```py
>>> from torchdata.stateful_dataloader import StatefulDataLoader
>>> ds = load_dataset("deepmind/code_contests", streaming=True, split="train")
>>> dataloader = StatefulDataLoader(ds, batch_size=32, num_workers=4)
>>> # checkpoint
>>> state_dict = dataloader.state_dict()  # uses ds.state_dict() under the hood
>>> # resume from checkpoint
>>> dataloader.load_state_dict(state_dict)  # uses ds.load_state_dict() under the hood
```

#### info[[datasets.IterableDataset.info]]

```python
info()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L172)

データセット内のすべてのメタデータを含む[DatasetInfo](/docs/datasets/main/ja/package_reference/main_classes#datasets.DatasetInfo)オブジェクト。

#### split[[datasets.IterableDataset.split]]

```python
split()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L177)

名前付きデータセット分割に対応する[NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)オブジェクト。

#### builder_name[[datasets.IterableDataset.builder_name]]

```python
builder_name()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L182)

#### 引用[[datasets.IterableDataset.citation]]

```python
citation()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L186)

#### config_name[[datasets.IterableDataset.config_name]]

```python
config_name()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L190)

#### dataset_size[[datasets.IterableDataset.dataset_size]]

```python
dataset_size()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L194)

#### 説明[[datasets.IterableDataset.description]]

```python
description()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L198)

#### download_checksums[[datasets.IterableDataset.download_checksums]]

```python
download_checksums()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L202)

#### download_size[[datasets.IterableDataset.download_size]]

```python
download_size()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L206)

#### 機能[[datasets.IterableDataset.features]]

```python
features()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L210)

#### ホームページ[[datasets.IterableDataset.homepage]]

```python
homepage()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L214)

#### ライセンス[[datasets.IterableDataset.license]]

```python
license()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L218)

#### size_in_bytes[[datasets.IterableDataset.size_in_bytes]]

```python
size_in_bytes()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L222)

#### supervised_keys[[datasets.IterableDataset.supervised_keys]]

```python
supervised_keys()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L226)

#### バージョン[[datasets.IterableDataset.version]]

```python
version()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/arrow_dataset.py#L230)

#### from_csv[[datasets.IterableDataset.from_csv]]

```python
from_csv(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, keep_in_memory: bool = False, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3392)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : CSV ファイルのパス。

split ([NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)、*任意*) : データセットに割り当てる分割名。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

- ****kwargs** (追加のキーワード引数) : `pandas.read_csv` に渡すキーワード引数。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

CSVファイルからIterableDatasetを作成します。

例:

```py
>>> ds = IterableDataset.from_csv('path/to/dataset.csv')
```

#### from_json[[datasets.IterableDataset.from_json]]

```python
from_json(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, keep_in_memory: bool = False, field: typing.Optional[str] = None, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3435)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : JSON または JSON Lines ファイルのパス。

split ([NamedSplit](/docs/datasets/main/ja/package_reference/builder_classes#datasets.NamedSplit)、*任意*) : データセットに割り当てる分割名。

features ([Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)、*optional*) : データセットの機能。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

field (`str`, *任意*) : データセットが含まれる JSON ファイルのフィールド名。

- ****kwargs** (追加のキーワード引数) : `JsonConfig` に渡すキーワード引数。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

JSONまたはJSON LinesファイルからIterableDatasetを作成します。

例:

```py
>>> ds = IterableDataset.from_json('path/to/dataset.json')
```

#### from_parquet[[datasets.IterableDataset.from_parquet]]

```python
from_parquet(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, keep_in_memory: bool = False, columns: typing.Optional[list[str]] = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, fragment_scan_options: typing.Optional[pyarrow._dataset_parquet.ParquetFragmentScanOptions] = None, on_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error', **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3482)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : Parquet ファイルのパス。

split (`NamedSplit`, *任意*) : データセットに割り当てる分割名。

features (`Features`、*任意*) : データセットの機能。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

columns (`List[str]`、*optional*) : `None` 以外の場合、ファイルからこれらのカラムのみが読み込まれます。カラム名はネストされたフィールドのプレフィックスとして指定でき、例えば 'a' を指定すると 'a.b'、'a.c'、'a.d.e' が選択されます。

filters (`Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]]`, *任意*) : フィルターに一致する行のみを返します。可能であれば、データソース内で見つかるパーティション情報や内部メタデータ（例: Parquet の統計情報）を活用するために、述語がプッシュダウンされます。それ以外の場合は、RecordBatches をロードしてから、それらを生成する前にフィルタリングします。

fragment_scan_options (`pyarrow.dataset.ParquetFragmentScanOptions`, *任意*) : Parquetフラグメントのスキャンに固有のオプションです。バッファリングやキャッシュの設定に特に役立ちます。

on_bad_files (`Literal["error", "warn", "skip"]`, *optional*, デフォルトは "error") : 読み込めないファイル（読み取り不能なファイル）に遭遇した場合の処理を指定します。許可される値は以下の通りです。 * 'error'、不良ファイルに遭遇した際に例外を発生させます。 * 'warn'、不良ファイルに遭遇した際に警告を発生させ、そのファイルをスキップします。 * 'skip'、不良ファイルに遭遇した際に、警告や例外を発生させずにスキップします。

- ****kwargs** (追加のキーワード引数) : `ParquetConfig`に渡すキーワード引数。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

ParquetファイルからIterableDatasetを作成します。

例:

```py
>>> ds = IterableDataset.from_parquet('path/to/dataset.parquet')
```

カラムのサブセットを読み込む:

```python
>>> ds = IterableDataset.from_parquet('path/to/dataset.parquet', columns=["col_0", "col_1"])
```

データを効率的にフィルタリングし、場合によってはファイル全体や行グループ全体をスキップできます:

```python
>>> filters = [("col_0", "==", 0)]
>>> ds = IterableDataset.from_parquet(parquet_files_list, filters=filters)
```

#### from_text[[datasets.IterableDataset.from_text]]

```python
from_text(path_or_paths: typing.Union[str, bytes, os.PathLike, list[typing.Union[str, bytes, os.PathLike]]], split: typing.Optional[datasets.splits.NamedSplit] = None, features: typing.Optional[datasets.features.features.Features] = None, keep_in_memory: bool = False, keep_linebreaks: bool = False, sample_by: typing.Literal['line', 'paragraph', 'document'] = 'line', **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L3567)

**パラメータ:**

path_or_paths (`path-like` または `path-like` のリスト) : テキストファイルのパス。

split (`NamedSplit`, *任意*) : データセットに割り当てる分割名。

features (`Features`、*任意*) : データセットの機能。

keep_in_memory (`bool`、デフォルトは`False`) : メモリ内でデータをコピーするかどうか。

keep_linebreaks : (`bool`、デフォルトは False): 改行を保持するかどうか。

sample_by (`Literal["line", "paragraph", "document"]`、デフォルトは "line") : データを1行、1段落、または1文書単位で読み込むかどうかを指定します。デフォルトでは、データセットの1行 = 1行です。

- ****kwargs** (追加のキーワード引数) : `TextConfig`に渡すキーワード引数。

**戻り値:**

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)

テキストファイルからIterableDatasetを作成します。

例:

```py
>>> ds = IterableDataset.from_text('path/to/dataset.txt')
```

#### datasets.IterableColumn[[datasets.IterableColumn]]

```python
datasets.IterableColumn(source: typing.Union[ForwardRef('IterableDataset'), ForwardRef('IterableColumn')], column_name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/iterable_dataset.py#L2657)

[IterableDataset](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset)の特定の列に対するイテラブルです。

例:

datasetの"text"カラムのテキストを反復処理します:

```python
for text in dataset["text"]:
    ...
```

ネストされたカラムでも動作します:

```python
for source in dataset["metadata"]["source"]:
    ...
```

## IterableDatasetDict[[datasets.IterableDatasetDict]]

キーに分割名（例: 'train'、'test'）、値に`IterableDataset`オブジェクトを持つ辞書。

#### datasets.IterableDatasetDict[[datasets.IterableDatasetDict]]

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1810)

#### map[[datasets.IterableDatasetDict.map]]

```python
map(function: typing.Optional[typing.Callable] = None, with_indices: bool = False, with_split: bool = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: int = 1000, drop_last_batch: bool = False, remove_columns: typing.Union[str, list[str], NoneType] = None, fn_kwargs: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1911)

**パラメータ:**

function (`Callable`、*任意*、デフォルトは`None`) : データセットを反復処理する際に、サンプルに対してオンザフライで適用される関数です。以下のいずれかのシグネチャを持つ必要があります: - `batched=False`かつ`with_indices=False`の場合、`function(example: Dict[str, Any]) -> Dict[str, Any]` - `batched=False`かつ`with_indices=True`の場合、`function(example: Dict[str, Any], idx: int) -> Dict[str, Any]` - `batched=True`かつ`with_indices=False`の場合、`function(batch: Dict[str, list]) -> Dict[str, list]` - `batched=True`かつ`with_indices=True`の場合、`function(batch: Dict[str, list], indices: list[int]) -> Dict[str, list]` 高度な用途では、関数は`pyarrow.Table`を返すこともできます。関数が非同期の場合、`map`は関数を並列で実行します。また、関数が何も返さない(`None`)場合、`map`は関数を実行し、データセットを変更せずに返します。関数が指定されない場合、恒等関数`lambda x: x`がデフォルトとして使用されます。

with_indices (`bool`、デフォルトは`False`) : `function`にインデックスの例を提供します。この場合、`function`のシグネチャは`def function(example, idx[, rank]): ...`である必要があります。

input_columns (`[Union[str, list[str]]]`、*任意*、デフォルトは`None`) : `function`に位置引数として渡す列。`None`の場合、フォーマットされたすべての列へのマッピングを含む辞書が1つの引数として渡されます。

batched (`bool`、デフォルトは`False`) : `function`にバッチの例を提供します。

batch_size (`int`、*任意*、デフォルトは`1000`) : `batched=True`の場合、`function`に渡されるバッチあたりのサンプル数。

drop_last_batch (`bool`、デフォルトは`False`) : `batch_size`より小さい最後のバッチを、関数で処理する代わりに破棄するかどうか。

remove_columns (`[list[str]]`、*任意*、デフォルトは`None`) : マッピング処理中に選択された列を削除します。列は、`function`の出力で例を更新する前に削除されます。つまり、`function`が`remove_columns`に名前が含まれる列を追加する場合、これらの列は保持されます。

fn_kwargs (`Dict`、*任意*、デフォルトは`None`) : `function`に渡すキーワード引数

イテラブルなデータセット内のすべての例（個別またはバッチ単位で）に関数を適用して、それらを更新します。関数がすでに存在するカラムを返す場合、そのカラムは上書きされます。関数は、データセットをイテレーションする際に、例に対してオンザフライで適用されます。変換は、データセット辞書内のすべてのデータセットに適用されます。

`batched` パラメータで、関数をバッチ処理にするかどうかを指定できます:

- `False`の場合、関数は1つの例を受け取り、1つの例を返す必要があります。例は辞書であり、例えば`{"text": "Hello there !"}`です。
- `True` かつ `batch_size` が 1 の場合、この関数は 1 つのサンプルのバッチを入力として受け取り、1 つ以上のサンプルを含むバッチを返すことができます。バッチは辞書であり、例えば 1 つのサンプルのバッチは `{"text": ["Hello there !"]}` のようになります。
- `True` かつ `batch_size` が `n` > 1 の場合、この関数は `n` 個のサンプルのバッチを入力として受け取り、`n` 個のサンプルを含むバッチ、または任意の数のサンプルを含むバッチを返すことができます。最後のバッチは `n` 個未満のサンプルを含む場合があります。バッチは辞書であり、例えば `n` 個のサンプルのバッチは `{"text": ["Hello there !"] * n}` のようになります。

関数が非同期の場合、`map`は最大1,000回の同時呼び出しで関数を並列実行します。同時に実行できる操作の最大数を設定したい場合は、関数内で`asyncio.Semaphore`を使用することをお勧めします。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> next(iter(ds["train"]))
{'label': 1,
 'text': 'Review: the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### フィルター[[datasets.IterableDatasetDict.filter]]

```python
filter(function: typing.Optional[typing.Callable] = None, with_indices = False, input_columns: typing.Union[str, list[str], NoneType] = None, batched: bool = False, batch_size: typing.Optional[int] = 1000, fn_kwargs: typing.Optional[dict] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2011)

**パラメータ:**

function (`Callable`) : 以下のいずれかのシグネチャを持つ Callable: - `with_indices=False, batched=False` の場合、`function(example: Dict[str, Any]) -> bool` - `with_indices=True, batched=False` の場合、`function(example: Dict[str, Any], indices: int) -> bool` - `with_indices=False, batched=True` の場合、`function(example: Dict[str, list]) -> list[bool]` - `with_indices=True, batched=True` の場合、`function(example: Dict[str, list], indices: list[int]) -> list[bool]` 関数が指定されない場合、常に True を返す関数 `lambda x: True` がデフォルトとして使用されます。

with_indices (`bool`、デフォルトは`False`) : `function`にインデックスの例を提供します。この場合、`function`のシグネチャは`def function(example, idx): ...`である必要があります。

input_columns (`str` または `list[str]`、*省略可能*) : `function` に位置引数として渡す列を指定します。`None` の場合、すべての整形済み列へのマッピングを含む dict が 1 つの引数として渡されます。

batched (`bool`、デフォルトは`False`) : `function`にバッチの例を提供します

batch_size (`int`、*任意*、デフォルトは`1000`) : `batched=True`の場合、`function`に渡されるバッチあたりのサンプル数。

fn_kwargs (`Dict`、*任意*、デフォルトは`None`) : `function`に渡すキーワード引数

フィルタ関数をすべての要素に適用し、フィルタ関数に合致する例のみを含むようにデータセットを絞り込みます。フィルタリングは、データセットを反復処理する際にオンザフライで実行されます。フィルタリングは、データセット辞書のすべてのデータセットに適用されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.filter(lambda x: x["label"] == 0)
>>> list(ds["train"].take(3))
[{'label': 0, 'text': 'Review: simplistic , silly and tedious .'},
 {'label': 0,
 'text': "Review: it's so laddish and juvenile , only teenage boys could possibly find it funny ."},
 {'label': 0,
 'text': 'Review: exploitative and largely devoid of the depth or sophistication that would make watching such a graphic treatment of the crimes bearable .'}]
```

#### シャッフル[[datasets.IterableDatasetDict.shuffle]]

```python
shuffle(seed = None, generator: typing.Optional[numpy.random._generator.Generator] = None, buffer_size: int = 1000, max_buffer_input_shards: int = 10)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2074)

**パラメータ:**

seed (`int`、*任意*、デフォルトは`None`) : データセットのシャッフルに使用されるランダムシードです。シャッフルバッファからのサンプリングや、データシャードのシャッフルにも使用されます。

generator (`numpy.random.Generator`, *オプション*) : データセットの行の置換を計算するために使用する Numpy ランダム Generator。`generator=None`（デフォルト）の場合、`np.random.default_rng`（NumPy のデフォルト BitGenerator (PCG64)）を使用します。

buffer_size (`int`、デフォルトは`1000`) : バッファのサイズ。

max_buffer_input_shards (`int`、デフォルトは`10`) : バッファに一度に供給するために使用するシャードの最大数。

このデータセットの要素をランダムにシャッフルします。シャッフルは、データセット辞書のすべてのデータセットに適用されます。

このデータセットは、バッファに個の要素を格納し、その後、このバッファから要素をランダムにサンプリングします。選択された要素は新しい要素で置き換えられます。完全なシャッフルを行うには、データセット全体のサイズ以上であるバッファサイズが必要です。

例えば、データセットに10,000個の要素が含まれているが`buffer_size`が1000に設定されている場合、`shuffle`は最初にバッファ内の最初の1000個の要素からランダムに1つを選択します。要素が選択されると、そのバッファ内のスペースは次の（つまり1,001番目の）要素で置き換えられ、1000個の要素からなるバッファが維持されます。

データセットが複数のシャードで構成されている場合、シャードの順序も`shuffle`されます。ただし、[skip()](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset.skip)または[take()](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDataset.take)を使用して順序が固定されている場合は、シャードの順序は変更されません。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> list(ds["train"].take(3))
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
>>> ds = ds.shuffle(seed=42)
>>> list(ds["train"].take(3))
[{'label': 1,
 'text': "a sports movie with action that's exciting on the field and a story you care about off it ."},
 {'label': 1,
 'text': 'at its best , the good girl is a refreshingly adult take on adultery . . .'},
 {'label': 1,
 'text': "sam jones became a very lucky filmmaker the day wilco got dropped from their record label , proving that one man's ruin may be another's fortune ."}]
```

#### with_format[[datasets.IterableDatasetDict.with_format]]

```python
with_format(type: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L1865)

**パラメータ:**

type (`str`, *任意*) : `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']` から選択した出力型。`None` は Python オブジェクトを返すことを意味します（デフォルト）。

指定された形式のデータセットを返します。

例:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation", streaming=True)
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds = ds.with_format("torch")
>>> next(iter(ds))
{'text': 'compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'label': tensor(1),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
        1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
        1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
 'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])}
```

#### キャスト[[datasets.IterableDatasetDict.cast]]

```python
cast(features: Features)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2290)

**パラメータ:**

features (`Features`) : データセットをキャストする新しい特徴量。特徴量のフィールド名は、現在の列名と一致する必要があります。また、データ型も、ある型から別の型へ変換可能である必要があります。`string` <-> `ClassLabel` のような非自明な変換を行う場合は、`map` を使用して Dataset を更新してください。

**戻り値:** [IterableDatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDatasetDict)

キャストされた特徴量を持つデータセットのコピー。

…

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds["train"].features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds["train"].features.copy()
>>> new_features['label'] = ClassLabel(names=['bad', 'good'])
>>> new_features['text'] = Value('large_string')
>>> ds = ds.cast(new_features)
>>> ds["train"].features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```

#### cast_column[[datasets.IterableDatasetDict.cast_column]]

```python
cast_column(column: str, feature: typing.Union[dict, list, tuple, datasets.features.features.Value, datasets.features.features.ClassLabel, datasets.features.translation.Translation, datasets.features.translation.TranslationVariableLanguages, datasets.features.features.LargeList, datasets.features.features.List, datasets.features.features.Array2D, datasets.features.features.Array3D, datasets.features.features.Array4D, datasets.features.features.Array5D, datasets.features.audio.Audio, datasets.features.image.Image, datasets.features.mesh.Mesh, datasets.features.video.Video, datasets.features.pdf.Pdf, datasets.features.nifti.Nifti, datasets.features.bio_sequence.BioSequence, datasets.features.bio_structure.BioStructure])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2259)

**パラメータ:**

column (`str`) : 列名。

feature (`Feature`) : ターゲット特徴量。

**戻り値:**

[IterableDatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDatasetDict)

デコード用のフィーチャーへカラムをキャストします。型キャストは、データセット辞書のすべてのデータセットに適用されます。

例:

```py
>>> from datasets import load_dataset, ClassLabel
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds["train"].features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> ds = ds.cast_column('label', ClassLabel(names=['bad', 'good']))
>>> ds["train"].features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('string')}
```

#### remove_columns[[datasets.IterableDatasetDict.remove_columns]]

```python
remove_columns(column_names: typing.Union[str, list[str]])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2207)

**パラメータ:**

column_names (`Union[str, list[str]]`) : 削除するカラムの名前。

**戻り値:** [IterableDatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDatasetDict)

削除するカラムを含まない、データセットオブジェクトのコピー。

データセットから1つ以上のカラムを削除し、それに関連するフィーチャーも削除します。削除は、データセットを反復処理する際に、各サンプルに対してオンザフライで実行されます。削除は、データセット辞書内のすべてのデータセットに適用されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.remove_columns("label")
>>> next(iter(ds["train"]))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### rename_column[[datasets.IterableDatasetDict.rename_column]]

```python
rename_column(original_column_name: str, new_column_name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2143)

**パラメータ:**

original_column_name (`str`) : 名前を変更するカラムの名前。

new_column_name (`str`) : 列の新しい名前。

**戻り値:** [IterableDatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDatasetDict)

列名が変更されたデータセットのコピー。

dataset内のカラム名を変更し、元のカラムに関連付けられた特徴量を新しいカラム名の下に移動します。このリネームは、dataset dictionary内のすべてのdatasetに適用されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.rename_column("text", "movie_review")
>>> next(iter(ds["train"]))
{'label': 1,
 'movie_review': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### rename_columns[[datasets.IterableDatasetDict.rename_columns]]

```python
rename_columns(column_mapping: dict)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2179)

**パラメータ:**

column_mapping (`Dict[str, str]`) : 列名を新しい名前に変更するためのマッピング。

**戻り値:** [IterableDatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDatasetDict)

列名が変更されたデータセットのコピー

…

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.rename_columns({"text": "movie_review", "label": "rating"})
>>> next(iter(ds["train"]))
{'movie_review': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
 'rating': 1}
```

#### select_columns[[datasets.IterableDatasetDict.select_columns]]

```python
select_columns(column_names: typing.Union[str, list[str]])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2233)

**パラメータ:**

column_names (`Union[str, list[str]]`) : 保持するカラムの名前。

**戻り値:** [IterableDatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDatasetDict)

選択した列のみを含む、データセットオブジェクトのコピー。

データセット内の1つ以上のカラムと、それに関連する特徴量を選択します。この選択は、データセットを反復処理する際に、各サンプルに対してオンザフライで実行されます。選択は、データセット辞書内のすべてのデータセットに適用されます。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", streaming=True)
>>> ds = ds.select("text")
>>> next(iter(ds["train"]))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

#### push_to_hub[[datasets.IterableDatasetDict.push_to_hub]]

```python
push_to_hub(repo_id: str, config_name: str = 'default', set_default: typing.Optional[bool] = None, data_dir: typing.Optional[str] = None, commit_message: typing.Optional[str] = None, commit_description: typing.Optional[str] = None, private: typing.Optional[bool] = None, token: typing.Optional[str] = None, revision: typing.Optional[str] = None, create_pr: typing.Optional[bool] = False, max_shard_size: typing.Union[str, int, NoneType] = None, num_shards: typing.Optional[dict[str, int]] = None, embed_external_files: bool = True, num_proc: typing.Optional[int] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/dataset_dict.py#L2327)

**パラメータ:**

repo_id (`str`) : 以下の形式で、プッシュ先リポジトリのID: `<user>/<dataset_name>` または `<org>/<dataset_name>`。ログインユーザーのネームスペースをデフォルトとする `<dataset_name>` も受け付けます。また、バケット内の場所、例えば `buckets/<user_or_org>/<bucket_name>/...` のような形式も指定できます。

config_name (`str`) : データセットの設定名。デフォルトは "default" です。

set_default (`bool`, *任意*) : この設定をデフォルトとして設定するかどうか。設定しない場合、デフォルト設定は "default" という名前のものになります。

data_dir (`str`, *任意*) : アップロードされたデータファイルを含むディレクトリ名。`config_name`が"default"と異なる場合はその値、そうでない場合は"data"がデフォルトです。

commit_message (`str`, *任意*) : push 時にコミットするメッセージ。デフォルトは `"Upload dataset"` です。

commit_description (`str`, *任意*) : 作成されるコミットの説明。また、PRが作成される場合(`create_pr`がTrue)には、PRの説明も含まれます。

private (`bool`, *optional*) : リポジトリを非公開にするかどうか。`None`（デフォルト）の場合、組織のデフォルトが非公開でない限り、リポジトリは公開になります。リポジトリが既に存在する場合、この値は無視されます。

token (`str`, *任意*) : Hugging Face Hub 用の任意の認証トークンです。トークンが渡されない場合、`hf auth login` でログインした際にローカルに保存されたトークンがデフォルトで使用されます。トークンが渡されず、かつユーザーがログインしていない場合は、エラーが発生します。

revision (`str`, *任意*) : アップロードしたファイルをプッシュするブランチ。デフォルトでは`"main"`ブランチです。

create_pr (`bool`, *任意*, デフォルトは `False`) : アップロードしたファイルで PR を作成するか、直接コミットするかどうか。

max_shard_size (`int` または `str`、*省略可能*) : ハブにアップロードするデータセットのシャードの最大サイズ（オプション）。文字列で指定する場合は、数字の後に単位（`"500MB"` や `"1GB"` など）を続ける必要があります。指定しない場合、各スプリットはデータセット本来のシャード数を維持します。

num_shards (`Dict[str, int]`、*任意*) : 書き出すシャード数。辞書を使用して、各スプリットに対して異なる`num_shards`を定義できます。`max_shard_size`が指定され、かつあるスプリットの`num_shards`が指定されていない場合、そのスプリットのシャード数は`max_shard_size`から推定されます。

embed_external_files (`bool`、デフォルトは`True`) : シャードにファイルのバイト列を埋め込むかどうか。具体的には、プッシュの前に、以下の型のフィールドに対して次の処理を行います。 - [Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio)および[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)は、ローカルパス情報を削除し、ファイルの内容をParquetファイルに埋め込みます。

num_proc (`int`、*optional*、デフォルトは`None`) : データセットの準備とアップロード時のプロセス数です。データセットが多数のサンプルや埋め込むメディアファイルで構成されている場合に役立ちます。HF への高速アップロードのための Rust クライアントである hf_xet と連携するために "spawn" コンテキストを使用します。マルチプロセッシングはデフォルトで無効です。

**戻り値:**

huggingface_hub.CommitInfo

[IterableDatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDatasetDict) を Parquet データセットとしてハブにプッシュします。[IterableDatasetDict](/docs/datasets/main/ja/package_reference/main_classes#datasets.IterableDatasetDict) は HTTP リクエストを使用してプッシュされるため、git や git-lfs のインストールは不要です。

各データセットの分割は独立してプッシュされます。プッシュされたデータセットは、元の分割名を保持します。

生成されるParquetファイルは、デフォルトで自己完結型です。データセットに[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)または[Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio)データが含まれている場合、Parquetファイルには画像や音声ファイルのバイトが保存されます。この機能を無効にするには、`embed_external_files`をFalseに設定してください。

例:

```python
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", num_shards={"train": 1024, "test": 8})
```

データセットに新しい設定（またはサブセット）を追加したい場合（データセットに複数のタスク/バージョン/言語がある場合など）：

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```

## 機能[[datasets.Features]]

#### datasets.Features[[datasets.Features]]

```python
datasets.Features(*args, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1923)

データセットの内部構造を定義する特別な辞書です。

`dict[str, FieldType]` 型の辞書でインスタンス化します。キーは希望する列名、値はその列の型です。

`FieldType`は、以下のいずれかになります。
- [Value](/docs/datasets/main/ja/package_reference/main_classes#datasets.Value)機能は、`int64`や`string`などの単一のデータ型値を指定します。
- [ClassLabel](/docs/datasets/main/ja/package_reference/main_classes#datasets.ClassLabel) 特徴は、ラベルを関連付けられる事前定義されたクラスセットを指定し、データセット内では整数として保存されます。
- Pythonの`dict`は、サブフィールドからサブフィーチャーへのマッピングを含む複合フィーチャーを指定します。任意の形で、ネストされたフィールドの中にさらにネストされたフィールドを持つことも可能です。
- [List](/docs/datasets/main/ja/package_reference/main_classes#datasets.List)または[LargeList](/docs/datasets/main/ja/package_reference/main_classes#datasets.LargeList)は、すべて同じ特徴量タイプを持つサブ特徴量のシーケンスを含む複合特徴量を指定します。
- 多次元配列用の[Array2D](/docs/datasets/main/ja/package_reference/main_classes#datasets.Array2D)、[Array3D](/docs/datasets/main/ja/package_reference/main_classes#datasets.Array3D)、[Array4D](/docs/datasets/main/ja/package_reference/main_classes#datasets.Array4D)または[Array5D](/docs/datasets/main/ja/package_reference/main_classes#datasets.Array5D)機能。
- [Audio](/docs/datasets/main/ja/package_reference/main_classes#datasets.Audio) 特徴は、オーディオファイルへの絶対パス、またはオーディオファイルへの相対パス（"path" キー）とそのバイト内容（"bytes" キー）を含む辞書を保存します。この特徴は、デコーダーを使用してオーディオを遅延読み込みします。
- 画像ファイルへの絶対パス、`np.ndarray`オブジェクト、`PIL.Image.Image`オブジェクト、または画像ファイルへの相対パス（"path"キー）とそのバイト内容（"bytes"キー）を含む辞書を格納するための[Image](/docs/datasets/main/ja/package_reference/main_classes#datasets.Image)機能。この機能は画像データを抽出します。
- [Video](/docs/datasets/main/ja/package_reference/main_classes#datasets.Video)機能は、動画ファイルへの絶対パス、`torchcodec.decoders.VideoDecoder`オブジェクト、または動画ファイルへの相対パス（"path"キー）とそのバイト内容（"bytes"キー）を含む辞書を保存します。この機能は、デコーダーを使用して動画を遅延読み込みします。
- PDFファイルへの絶対パス、`pdfplumber.pdf.PDF`オブジェクト、またはPDFファイルへの相対パス（"path"キー）とそのバイト内容（"bytes"キー）を含む辞書を格納するための[Pdf](/docs/datasets/main/ja/package_reference/main_classes#datasets.Pdf)機能。この機能は、PDFリーダーを使用してPDFを遅延読み込みします。
- [Nifti](/docs/datasets/main/ja/package_reference/main_classes#datasets.Nifti) は、NIfTI 神経画像ファイルへの絶対パス、`nibabel.Nifti1Image` オブジェクト、または NIfTI ファイルへの相対パス（"path" キー）とそのバイト内容（"bytes" キー）を含む辞書型の特徴量です。この特徴量は、nibabel を使用して NIfTI ファイルを遅延読み込みします。
- 機械翻訳に固有の[Translation](/docs/datasets/main/ja/package_reference/main_classes#datasets.Translation)または[TranslationVariableLanguages](/docs/datasets/main/ja/package_reference/main_classes#datasets.TranslationVariableLanguages)機能。
- [Json](/docs/datasets/main/ja/package_reference/loading_methods#datasets.Json) 機能は、混合型や任意の型を含む非構造化データを保存するために使用します。内部では

#### コピー[[datasets.Features.copy]]

```python
copy()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2356)

**戻り値:**

[機能](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)

[Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)のディープコピーを作成します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> copy_of_features = ds.features.copy()
>>> copy_of_features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
```

#### decode_batch[[datasets.Features.decode_batch]]

```python
decode_batch(batch: dict, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2329)

**パラメータ:**

batch (`dict[str, list[Any]]`) : データセットのバッチデータ。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリから音声ファイルや画像ファイルにアクセスしてデコードするには、repo_id (str) -> token (boolまたはstr) の辞書を渡すことができます。

**戻り値:**

`dict[str, list[Any]]`

カスタム機能デコーディングでバッチをデコードします。

#### decode_column[[datasets.Features.decode_column]]

```python
decode_column(column: list, column_name: str, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2304)

**パラメータ:**

column (`list[Any]`) : Dataset のカラムデータ。

column_name (`str`) : データセットの列名。

**戻り値:**

`list[Any]`

カスタム機能デコーディングでカラムをデコードします。

#### decode_example[[datasets.Features.decode_example]]

```python
decode_example(example: dict, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2281)

**パラメータ:**

example (`dict[str, Any]`) : データセットの行データ。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリからオーディオファイルや画像ファイルにアクセスしてデコードするには、辞書 `repo_id (str) -> token (bool or str)` を渡すことができます。

**戻り値:**

`dict[str, Any]`

カスタム機能デコードを用いたデコードの例。

#### encode_batch[[datasets.Features.encode_batch]]

```python
encode_batch(batch)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2262)

**パラメータ:**

batch (`dict[str, list[Any]]`) : Dataset バッチのデータ。

**戻り値:**

`dict[str, list[Any]]`

バッチをArrow用の形式にエンコードします。

#### encode_column[[datasets.Features.encode_column]]

```python
encode_column(column, column_name: str)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2246)

**パラメータ:**

column (`list[Any]`) : Dataset のカラム内のデータ。

column_name (`str`) : データセットの列名。

**戻り値:**

`list[Any]`

カラムをArrow用の形式にエンコードします。

#### encode_example[[datasets.Features.encode_example]]

```python
encode_example(example)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2232)

**パラメータ:**

example (`dict[str, Any]`) : Dataset の行のデータ。

**戻り値:**

`dict[str, Any]`

例をArrow用の形式にエンコードします。

#### flatten[[datasets.Features.flatten]]

```python
flatten(max_depth = 16)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2429)

**戻り値:** [Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)

フラット化された特徴量。

特徴をフラット化します。すべての辞書型カラムは削除され、その中に含まれるすべてのサブフィールドに置き換えられます。新しいフィールドは、元のカラム名とサブフィールド名を`<original>.<subfield>`のように連結することで命名されます。

カラムにネストされた辞書が含まれている場合、下位のサブフィールド名もすべて連結されて新しいカラムが形成されます: `<original>.<subfield>.<subsubfield>` など。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("rajpurkar/squad", split="train")
>>> ds.features.flatten()
{'answers.answer_start': List(Value('int32'), id=None),
 'answers.text': List(Value('string'), id=None),
 'context': Value('string'),
 'id': Value('string'),
 'question': Value('string'),
 'title': Value('string')}
```

#### from_arrow_schema[[datasets.Features.from_arrow_schema]]

```python
from_arrow_schema(pa_schema: Schema)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2015)

**パラメータ:**

pa_schema (`pyarrow.Schema`) : Arrow スキーマ。

**戻り値:**

[機能](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)

Arrow スキーマから[Features](/docs/datasets/main/ja/package_reference/main_classes#datasets.Features)を構築します。また、Hugging Face Datasets の機能に関するスキーマのメタデータもチェックします。NULL 不可フィールドはサポートされておらず、NULL 可に設定されます。

また、pa.dictionary はサポートされておらず、代わりにその基底型が使用されます。そのため、datasets は DictionaryArray オブジェクトを実際の値に変換します。

#### from_dict[[datasets.Features.from_dict]]

```python
from_dict(dic)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2049)

**パラメータ:**

dic (*dict[str, Any]*) : Pythonの辞書。

**戻り値:** `*Features*`

dict から *Features* を構築します。

デシリアライズされた辞書からネストされたフィーチャーオブジェクトを再生成します。フィーチャーの*FieldType*のデータクラス名を推定するために、*_type*キーを使用します。

デシリアライズされた JSON 辞書から特徴を定義するための便利なコンストラクタ構文を可能にします。この関数は、JSON オブジェクトにダンプされた [*DatasetInfo*] をデシリアライズする際に特に使用されます。これは [*Features.from_arrow_schema*] の類似機能として機能し、再帰的なフィールドごとのインスタンス化を処理しますが、pyarrow へのマッピングは不要です。ただし、[*Value*] が自動的に実行する pyarrow のプリミティブ dtype のマッピングを利用する点は除きます。

例:

```python
>>> Features.from_dict(&amp;lcub;'_type': &amp;lcub;'dtype': 'string', 'id': None, '_type': 'Value'}})
&amp;lcub;'_type': Value('string')}
```

#### reorder_fields_as[[datasets.Features.reorder_fields_as]]

```python
reorder_fields_as(other: Features)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L2376)

**パラメータ:**

other ([*Features*]) : 整合させるための他の [*Features*]。

**戻り値:**

[*機能*]

他の [*Features*] と同じフィールド順になるよう、Features のフィールドを並べ替えてください。

フィールドの順序は重要であり、これは基盤となるarrowデータに影響するためです。フィールドの順序を変更することで、基盤となるarrowデータ型を一致させることができます。

例:

```python
>>> from datasets import Features, List, Value
>>> # let's say we have two features with a different order of nested fields (for a and b for example)
>>> f1 = Features(&amp;lcub;"root": &amp;lcub;"a": Value("string"), "b": Value("string")}})
>>> f2 = Features(&amp;lcub;"root": &amp;lcub;"b": Value("string"), "a": Value("string")}})
>>> assert f1.type != f2.type
>>> # re-ordering keeps the base structure (here List is defined at the root level), but makes the fields order match
>>> f1.reorder_fields_as(f2)
&amp;lcub;'root': List(&amp;lcub;'b': Value('string'), 'a': Value('string')})}
>>> assert f1.reorder_fields_as(f2).type == f2.type
```

### スカラー[[datasets.Value]]

#### datasets.Value[[datasets.Value]]

```python
datasets.Value(dtype: str, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L511)

**パラメータ:**

dtype (`str`) : データ型の名前。

特定のデータ型のスカラー特徴量値。

`Value`の可能なdtypeは以下の通りです:
- `null`
- `bool`
- `int8`
- `int16`
- `int32`
- `int64`
- `uint8`
- `uint16`
- `uint32`
- `uint64`
- `float16`
- `float32`（別名 float）
- `float64`（別名 double）
- `time32[(s|ms)]`
- `time64[(us|ns)]`
- `timestamp[(s|ms|us|ns)]`
- `timestamp[(s|ms|us|ns), tz=(tzstring)]`
- `date32`
- `date64`
- `duration[(s|ms|us|ns)]`
- `decimal128(precision, scale)`
- `decimal256(precision, scale)`
- `binary`
- `large_binary`
- `binary_view`
- `string`
- `large_string`
- `string_view`

例:

```py
>>> from datasets import Features
>>> features = Features({'stars': Value('int32')})
>>> features
{'stars': Value('int32')}
```

#### datasets.ClassLabel[[datasets.ClassLabel]]

```python
datasets.ClassLabel(num_classes: dataclasses.InitVar[typing.Optional[int]] = None, names: list = None, names_file: dataclasses.InitVar[typing.Optional[str]] = None, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1052)

**パラメータ:**

num_classes (`int`, *optional*) : クラス数。すべてのラベルは `num_classes` 未満である必要があります。

names (`list` of `str`, *optional*) : 整数クラス用の文字列名。提供された順序は保持されます。

names_file (`str`, *任意*) : 整数クラスの名称が1行に1つずつ記載されたファイルへのパス。

整数クラスラベル用のフィーチャータイプ。

`ClassLabel`を定義するには3つの方法があり、それぞれが3つの引数に対応しています:

* `num_classes`: 0 から (num_classes-1) までのラベルを作成します。
* `names`: ラベル文字列のリスト。
* `names_file`: ラベルのリストを含むファイル。

内部では、ラベルは整数として保存されます。不明または欠損しているラベルを表すには、-1 を使用できます。

例:

```py
>>> from datasets import Features, ClassLabel
>>> features = Features({'label': ClassLabel(num_classes=3, names=['bad', 'ok', 'good'])})
>>> features
{'label': ClassLabel(names=['bad', 'ok', 'good'])}
```

#### cast_storage[[datasets.ClassLabel.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.IntegerArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1217)

**パラメータ:**

storage (`Union[pa.StringArray, pa.IntegerArray]`) : キャストする PyArrow アレイ。

**戻り値:** `pa.Int64Array`

`ClassLabel`アローストレージ型内の配列。

Arrow配列を`ClassLabel`のArrowストレージ型にキャストします。`ClassLabel`のpyarrowストレージ型に変換できるArrow型は以下の通りです:

- `pa.string()`
- `pa.int()`

#### int2str[[datasets.ClassLabel.int2str]]

```python
int2str(values: typing.Union[int, collections.abc.Iterable])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1171)

`integer` => クラス名の`string`への変換。

不明/欠損ラベルについて: 負の整数を渡すと`ValueError`が発生します。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds.features["label"].int2str(0)
'neg'
```

#### str2int[[datasets.ClassLabel.str2int]]

```python
str2int(values: typing.Union[str, collections.abc.Iterable])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1126)

変換クラス名 `string` => `integer`。

例:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds.features["label"].str2int('neg')
0
```

### 複合[[datasets.LargeList]]

#### datasets.LargeList[[datasets.LargeList]]

```python
datasets.LargeList(feature: typing.Any, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1406)

**パラメータ:**

feature (`FeatureType`) : 大きなリスト内の各アイテムの子機能データ型。

子要素の機能データ型で構成される大規模なリストデータの機能タイプ。

`pyarrow.LargeListType`によってサポートされており、これは`pyarrow.ListType`と同様ですが、オフセットが32ビットではなく64ビットである点が異なります。

#### datasets.List[[datasets.List]]

```python
datasets.List(feature: typing.Any, length: int = -1, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1378)

**パラメータ:**

feature (`FeatureType`) : 大きなリスト内の各アイテムの子機能データ型。

length (任意の`int`、デフォルトは-1) : リストの長さが固定されている場合の長さ。デフォルトは-1で、任意の長さを意味します。

子要素の機能データ型で構成される大規模なリストデータの機能タイプ。

`pyarrow.ListType`によってサポートされており、32ビットのオフセットまたは固定長を使用します。

#### datasets.Sequence[[datasets.Sequence]]

```python
datasets.Sequence(feature = None, length = -1, **kwargs)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1344)

**パラメータ:**

feature (`FeatureType`) : 大きなリスト内の各アイテムの子機能データ型。

length (任意の`int`、デフォルトは-1) : リストの長さが固定されている場合の長さ。デフォルトは-1で、任意の長さを意味します。

**戻り値:**

`dict` 形式のサブ機能を除く、指定された機能の[List](/docs/datasets/main/ja/package_reference/main_classes#datasets.List)。TFDSとの互換性のために、サブ機能の`dict`はサブ機能のリストの`dict`に変換されます。

`Sequence`は、内部の辞書型特徴量をリストの辞書に自動的に変換するユーティリティです。この動作はTensorFlow Datasetsライブラリとの互換性レイヤーとして実装されていますが、一部のケースでは不要な場合があります。この動作を望まない場合は、[Sequence](/docs/datasets/main/ja/package_reference/main_classes#datasets.Sequence)の代わりに[List](/docs/datasets/main/ja/package_reference/main_classes#datasets.List)または[LargeList](/docs/datasets/main/ja/package_reference/main_classes#datasets.LargeList)を使用できます。

### 翻訳[[datasets.Translation]]

#### datasets.Translation[[datasets.Translation]]

```python
datasets.Translation(languages: list, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/translation.py#L12)

**パラメータ:**

languages (`dict`) : 各サンプルについて、文字列の言語コードを文字列の翻訳にマッピングする辞書。

`Feature` は、例ごとに固定された言語での翻訳用です。ここでは tfds との互換性のために使用しています。

例:

```python
>>> # At construction time:
>>> datasets.features.Translation(languages=['en', 'fr', 'de'])
>>> # During data generation:
>>> yield {
...         'en': 'the cat',
...         'fr': 'le chat',
...         'de': 'die katze'
... }
```

#### flatten[[datasets.Translation.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/translation.py#L44)

Translation機能を辞書にフラット化します。

#### datasets.TranslationVariableLanguages[[datasets.TranslationVariableLanguages]]

```python
datasets.TranslationVariableLanguages(languages: typing.Optional[list] = None, num_languages: typing.Optional[int] = None, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/translation.py#L52)

**パラメータ:**

languages (`dict`) : 各サンプルに対応する辞書で、文字列の言語コードを1つ以上の文字列の翻訳にマッピングします。存在する言語はサンプルによって異なる場合があります。

**戻り値:** - `language` または `translation`（`tf.string` 型の可変長 1 次元 `tf.Tensor`）

昇順にソートされた言語コード、または言語コードと整合するようにソートされたプレーンテキストの翻訳。

`Feature`は、例ごとに異なる言語を持つ翻訳用です。ここではtfdsとの互換性のために使用しています。

例:

```python
>>> # At construction time:
>>> datasets.features.TranslationVariableLanguages(languages=['en', 'fr', 'de'])
>>> # During data generation:
>>> yield {
...         'en': 'the cat',
...         'fr': ['le chat', 'la chatte,']
...         'de': 'die katze'
... }
>>> # Tensor returned :
>>> {
...         'language': ['en', 'de', 'fr', 'fr'],
...         'translation': ['the cat', 'die katze', 'la chatte', 'le chat'],
... }
```

#### flatten[[datasets.TranslationVariableLanguages.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/translation.py#L122)

TranslationVariableLanguages 機能を辞書にフラット化します。

### 配列[[datasets.Array2D]]

#### datasets.Array2D[[datasets.Array2D]]

```python
datasets.Array2D(shape: tuple, dtype: str, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L608)

**パラメータ:**

shape (`tuple`) : 各次元のサイズ。

dtype (`str`) : データ型の名前。

2次元の配列を作成します。

例:

```py
>>> from datasets import Features
>>> features = Features({'x': Array2D(shape=(1, 3), dtype='int32')})
```

#### datasets.Array3D[[datasets.Array3D]]

```python
datasets.Array3D(shape: tuple, dtype: str, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L633)

**パラメータ:**

shape (`tuple`) : 各次元のサイズ。

dtype (`str`) : データ型の名前。

三次元配列を作成します。

例:

```py
>>> from datasets import Features
>>> features = Features({'x': Array3D(shape=(1, 2, 3), dtype='int32')})
```

#### datasets.Array4D[[datasets.Array4D]]

```python
datasets.Array4D(shape: tuple, dtype: str, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L658)

**パラメータ:**

shape (`tuple`) : 各次元のサイズ。

dtype (`str`) : データ型の名前。

4次元の配列を作成します。

例:

```py
>>> from datasets import Features
>>> features = Features({'x': Array4D(shape=(1, 2, 2, 3), dtype='int32')})
```

#### datasets.Array5D[[datasets.Array5D]]

```python
datasets.Array5D(shape: tuple, dtype: str, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L683)

**パラメータ:**

shape (`tuple`) : 各次元のサイズ。

dtype (`str`) : データ型の名前。

5次元の配列を作成します。

例:

```py
>>> from datasets import Features
>>> features = Features({'x': Array5D(shape=(1, 2, 2, 3, 3), dtype='int32')})
```

### オーディオ[[datasets.Audio]]

#### datasets.Audio[[datasets.Audio]]

```python
datasets.Audio(sampling_rate: typing.Optional[int] = None, decode: bool = True, num_channels: typing.Optional[int] = None, stream_index: typing.Optional[int] = None, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/audio.py#L24)

**パラメータ:**

sampling_rate (`int`, *optional*) : 目標サンプリングレート。`None`の場合、ネイティブのサンプリングレートが使用されます。

num_channels (`int`, *optional*) : サンプルの希望するチャネル数です。デフォルトでは、ソースのチャネル数が使用されます。オーディオデコードは、形状が (num_channels, num_samples) のサンプルを返します。現在、`None`（ソースのチャネル数、デフォルト）、`1`（モノラル）、または `2`（ステレオ）チャネルがサポートされています。`num_channels` 引数は `torchcodec.decoders.AudioDecoder` に渡されます。

decode (`bool`、デフォルトは`True`) : 音声データをデコードするかどうか。`False`の場合、`{"path": audio_path, "bytes": audio_bytes}`形式の基底辞書を返します。

stream_index (`int`, *optional*) : ファイルから使用するストリーミングインデックスです。`None` の場合、"best" インデックスがデフォルトとして使用されます。

`Feature`は、音声ファイルから音声データを抽出するためのAudioです。

入力: Audio機能は以下を入力として受け入れます:
- `str`: 音声ファイルへの絶対パス（つまり、ランダムアクセスが許可されています）。
- `pathlib.Path`: 音声ファイルへのパス（つまり、ランダムアクセスが許可されています）。
- `dict`で、キーは以下の通りです:

  - `path`: アーカイブファイルに対する音声ファイルの相対パスを示す文字列。
  - `bytes`: 音声ファイルのバイト内容。

  これは、音声ファイルを埋め込んでいるparquetファイルやwebdatasetファイルに対して有用です。

- `dict`で、キーは以下の通りです:

  - `array`: 音声サンプルを含む配列
  - `sampling_rate`: 音声サンプルのサンプリングレートに対応する整数。

- `torchcodec.decoders.AudioDecoder`: torchcodecのオーディオデコーダーオブジェクト。

出力: Audio featuresは`torchcodec.decoders.AudioDecoder`オブジェクトとしてデータを出力し、追加のキーが含まれます:

- `array`: 音声サンプルを含む配列
- `sampling_rate`: 音声サンプルのサンプリングレートに対応する整数。

例:

```py
>>> from datasets import load_dataset, Audio
>>> ds = load_dataset("PolyAI/minds14", name="en-US", split="train")
>>> ds = ds.cast_column("audio", Audio(sampling_rate=44100, num_channels=2))
>>> ds[0]["audio"]
<datasets.features._torchcodec.AudioDecoder object at 0x11642b6a0>
>>> audio = ds[0]["audio"]
>>> audio.get_samples_played_in_range(0, 10)
AudioSamples:
    data (shape): torch.Size([2, 110592])
    pts_seconds: 0.0
    duration_seconds: 2.507755102040816
    sample_rate: 44100
```

#### cast_storage[[datasets.Audio.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/audio.py#L237)

**パラメータ:**

storage (`Union[pa.StringArray, pa.StructArray]`) : キャスト対象の PyArrow アレイ。

**戻り値:** `pa.StructArray`

Audioのarrowストレージ型における配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`

Arrow配列をAudioのarrowストレージ型にキャストします。Audioのpyarrowストレージ型に変換できるArrow型は以下の通りです：

- `pa.string()` - "path" データを含む必要があります
- `pa.binary()` - 音声バイトを含む必要があります
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - 順序は重要ではありません

#### decode_example[[datasets.Audio.decode_example]]

```python
decode_example(value: dict, token_per_repo_id: typing.Optional[dict[str, typing.Union[str, bool, NoneType]]] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/audio.py#L164)

**パラメータ:**

value (`dict`) : 以下のキーを持つ辞書: - `path`: 相対的なオーディオファイルパスの文字列。 - `bytes`: オーディオファイルのバイト列。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリからオーディオファイルにアクセスしてデコードするには、repo_id (`str`) -> token (`bool` または `str`) の辞書を渡すことができます

**戻り値:**

`torchcodec.decoders.AudioDecoder`

デコード例のオーディオファイルをオーディオデータに変換します。

#### embed_storage[[datasets.Audio.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/audio.py#L283)

**パラメータ:**

storage (`pa.StructArray`) : 埋め込む PyArrow 配列。

token_per_repo_id (`dict`, 任意) : ファイルのバイトを取得するための、repo_id -> トークンの辞書。

local_files (`bool`、デフォルトは`True`) : ローカルファイルのデータを配列に埋め込むかどうか

remote_files (`bool`、デフォルトは`True`) : リモートファイルのデータを配列に埋め込むかどうか。例えば、hf://やhttps://で始まるパスを持つファイルなど。

**戻り値:** `pa.StructArray`

Audioのarrowストレージ型における配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

オーディオファイルをArrow配列に埋め込みます。

#### encode_example[[datasets.Audio.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('AudioDecoder')])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/audio.py#L96)

**パラメータ:**

value (`str`、`bytes`、`bytearray`、`dict`、`AudioDecoder`) : Audio 機能への入力として渡されるデータ。

**戻り値:** `dict`

例をArrow用の形式にエンコードします。

#### flatten[[datasets.Audio.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/audio.py#L226)

デコード可能な状態の場合、エラーを発生させます。それ以外の場合は、特徴量を辞書にフラット化します。

### 画像[[datasets.Image]]

#### datasets.Image[[datasets.Image]]

```python
datasets.Image(mode: typing.Optional[str] = None, decode: bool = True, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/image.py#L47)

**パラメータ:**

mode (`str`, *任意*) : 画像をコンバートするモード。`None`の場合、画像のネイティブモードが使用されます。

decode (`bool`、デフォルトは`True`) : 画像データをデコードするかどうか。`False`の場合、`{"path": image_path, "bytes": image_bytes}`形式の基底辞書を返します。

画像ファイルから画像データを読み込むための`Feature`。

入力: Image機能は以下を入力として受け入れます:
- `str`: 画像ファイルへの絶対パス（つまり、ランダムアクセスが許可されています）。
- `pathlib.Path`: 画像ファイルへのパス（つまり、ランダムアクセスが許可されています）。
- `dict`で、キーは以下の通りです:

  - `path`: アーカイブファイルに対する画像ファイルの相対パスを示す文字列。
  - `bytes`: 画像ファイルのバイト数。

  これは、画像ファイルを埋め込んでいるparquetファイルやwebdatasetファイルに対して有用です。

- `np.ndarray`: 画像を表すNumPy配列。
- `PIL.Image.Image`: PIL画像オブジェクト。

出力: Image featuresは出力データを`PIL.Image.Image`オブジェクトとして出力します。

例:

```py
>>> from datasets import load_dataset, Image
>>> ds = load_dataset("AI-Lab-Makerere/beans", split="train")
>>> ds.features["image"]
Image(decode=True, id=None)
>>> ds[0]["image"]
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=500x500 at 0x15E52E7F0>
>>> ds = ds.cast_column('image', Image(decode=False))
{'bytes': None,
 'path': '/root/.cache/huggingface/datasets/downloads/extracted/b0a21163f78769a2cf11f58dfc767fb458fc7cea5c05dccc0144a2c0f0bc1292/train/healthy/healthy_train.85.jpg'}
```

#### cast_storage[[datasets.Image.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/image.py#L216)

**パラメータ:**

storage (`Union[pa.StringArray, pa.StructArray, pa.ListArray]`) : キャストする PyArrow アレイ。

**戻り値:** `pa.StructArray`

Image arrowストレージ型内の配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

Arrow配列をImageのarrowストレージ型にキャストします。Imageのpyarrowストレージ型に変換できるArrow型は以下の通りです：

- `pa.string()` - "path" データを含む必要があります
- `pa.large_string()` - "path" データを含む必要があります（可能な場合は文字列にキャストされます）
- `pa.binary()` - 画像のバイト列を含まなければなりません
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - 順序は重要ではありません
- `pa.list(*)` - 画像配列データを含む必要があります

#### decode_example[[datasets.Image.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/image.py#L139)

**パラメータ:**

value (`str` または `dict`) : 絶対パスの画像ファイルパスを示す文字列、または以下のキーを持つ辞書: - `path`: 絶対パスまたは相対パスの画像ファイルパスを示す文字列。 - `bytes`: 画像ファイルのバイト列。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリから画像ファイルにアクセスしてデコードするには、repo_id (`str`) -> token (`bool` または `str`) の辞書を渡すことができます。

**戻り値:**

`PIL.Image.Image`

例の画像ファイルを画像データにデコードします。

#### embed_storage[[datasets.Image.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/image.py#L278)

**パラメータ:**

storage (`pa.StructArray`) : 埋め込む PyArrow 配列。

token_per_repo_id (`dict`, 任意) : ファイルのバイトを取得するための、repo_id -> トークンの辞書。

local_files (`bool`、デフォルトは`True`) : ローカルファイルのデータを配列に埋め込むかどうか

remote_files (`bool`、デフォルトは`True`) : リモートファイルのデータを配列に埋め込むかどうか。例えば、hf://やhttps://で始まるパスを持つファイルなど。

**戻り値:** `pa.StructArray`

Image arrowストレージ型内の配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

画像ファイルをArrow配列に埋め込みます。

#### encode_example[[datasets.Image.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, numpy.ndarray, ForwardRef('PIL.Image.Image')])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/image.py#L98)

**パラメータ:**

value (`str`、`np.ndarray`、`PIL.Image.Image` または `dict`) : Image feature に入力として渡されるデータ。

**戻り値:**

`dict`で、"path"と"bytes"フィールドを持つ

例をArrow用の形式にエンコードします。

#### flatten[[datasets.Image.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/image.py#L203)

デコード可能な状態の場合、特徴量そのものを返し、それ以外の場合は特徴量を辞書にフラット化します。

### 動画[[datasets.Video]]

#### datasets.Video[[datasets.Video]]

```python
datasets.Video(decode: bool = True, stream_index: typing.Optional[int] = None, dimension_order: typing.Literal['NCHW', 'NHWC'] = 'NCHW', num_ffmpeg_threads: int = 1, device: typing.Union[str, ForwardRef('torch.device'), NoneType] = 'cpu', seek_mode: typing.Literal['exact', 'approximate'] = 'exact', id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/video.py#L29)

**パラメータ:**

decode (`bool`、デフォルトは`True`) : ビデオデータをデコードするかどうか。`False`の場合、`{"path": video_path, "bytes": video_bytes}`形式の基底辞書を返します。

stream_index (`int`, *optional*) : ファイルから使用するストリーミングインデックスです。`None` の場合、"best" インデックスがデフォルトとして使用されます。

dimension_order (`str`、デフォルトは`NCHW`) : 復号化されたフレームの次元順序。Nはバッチサイズ、Cはチャネル数、Hはフレームの高さ、Wはフレームの幅を表します。

num_ffmpeg_threads (`int`、デフォルトは`1`) : 動画のデコードに使用するスレッド数です。(1に設定することを推奨します)

device (`str` または `torch.device`、デフォルトは `cpu`) : 動画のデコードに使用するデバイス。

seek_mode (`str`、デフォルトは`exact`) : フレームアクセスが「exact」か「approximate」かを決定します。`exact`は、フレームiをリクエストすると常にフレームiが返されることを保証しますが、そのためにはファイルの初期スキャンが必要です。approximateはファイルのスキャンを回避するため高速ですが、ファイルのメタデータを使用してiの位置を推定するため、精度が低くなります。詳細は[こちら](https://docs.pytorch.org/torchcodec/stable/generated_examples/approximate_mode.html#sphx-glr-generated-examples-approximate-mode-py)

`Feature`は、動画ファイルから動画データを読み取るためのVideoです。

入力: Video機能は以下を入力として受け入れます:
- `str`: 動画ファイルへの絶対パス（つまり、ランダムアクセスが許可されています）。
- `pathlib.Path`: 動画ファイルへのパス（つまり、ランダムアクセスが許可されています）。
- `dict`で、キーは以下の通りです:

  - `path`: データセットリポジトリ内の動画ファイルの相対パスを示す文字列。
  - `bytes`: 動画ファイルのバイト数。

  parquetファイルやwebdatasetファイルなど、動画ファイルを埋め込んでいるファイルに対して有用です。

- `torchcodec.decoders.VideoDecoder`: torchcodecのビデオデコーダーオブジェクト。

出力: The Video features は出力データを`torchcodec.decoders.VideoDecoder`オブジェクトとして提供します。

例:

```py
>>> from datasets import Dataset, Video
>>> ds = Dataset.from_dict({"video":["path/to/Screen Recording.mov"]}).cast_column("video", Video())
>>> ds.features["video"]
Video(decode=True, id=None)
>>> ds[0]["video"]
<torchcodec.decoders._video_decoder.VideoDecoder object at 0x14a61e080>
>>> video = ds[0]["video"]
>>> video.get_frames_in_range(0, 10)
FrameBatch:
data (shape): torch.Size([10, 3, 50, 66])
pts_seconds: tensor([0.4333, 0.4333, 0.4333, 0.4333, 0.4333, 0.4333, 0.4333, 0.4333, 0.4333,
        0.4333], dtype=torch.float64)
duration_seconds: tensor([0.0167, 0.0167, 0.0167, 0.0167, 0.0167, 0.0167, 0.0167, 0.0167, 0.0167,
        0.0167], dtype=torch.float64)
>>> ds.cast_column('video', Video(decode=False))[0]["video]
{'bytes': None,
 'path': 'path/to/Screen Recording.mov'}
```

#### cast_storage[[datasets.Video.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/video.py#L242)

**パラメータ:**

storage (`Union[pa.StringArray, pa.StructArray, pa.ListArray]`) : キャストする PyArrow アレイ。

**戻り値:** `pa.StructArray`

Video arrowストレージ型内の配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

Arrow配列をVideoのarrowストレージ型にキャストします。Videoのpyarrowストレージ型に変換できるArrow型は以下の通りです：

- `pa.string()` - "path" データを含む必要があります
- `pa.binary()` - 動画のバイト列を含まなければなりません
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - 順序は重要ではありません
- `pa.list(*)` - 動画の配列データを含む必要があります

#### decode_example[[datasets.Video.decode_example]]

```python
decode_example(value: typing.Union[str, datasets.features.video.Example], token_per_repo_id: typing.Optional[dict[str, typing.Union[bool, str]]] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/video.py#L153)

**パラメータ:**

value (`str` または `dict`) : 絶対パスの動画ファイルパスを示す文字列、または以下のキーを持つ辞書: - `path`: 絶対パスまたは相対パスの動画ファイルパスを示す文字列。 - `bytes`: 動画ファイルのバイト列。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリから動画ファイルにアクセスしてデコードするには、repo_id (`str`) -> token (`bool` または `str`) の辞書を渡すことができます。

**戻り値:**

`torchcodec.decoders.VideoDecoder`

デコード例の動画ファイルを動画データに変換します。

#### embed_storage[[datasets.Video.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/video.py#L294)

**パラメータ:**

storage (`pa.StructArray`) : 埋め込む PyArrow 配列。

token_per_repo_id (`dict`, 任意) : ファイルのバイトを取得するための、repo_id -> トークンの辞書。

local_files (`bool`、デフォルトは`True`) : ローカルファイルのデータを配列に埋め込むかどうか

remote_files (`bool`、デフォルトは`True`) : リモートファイルのデータを配列に埋め込むかどうか。例えば、hf://やhttps://で始まるパスを持つファイルなど。

**戻り値:** `pa.StructArray`

Video arrowストレージ型内の配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

画像ファイルをArrow配列に埋め込みます。

#### encode_example[[datasets.Video.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, datasets.features.video.Example, numpy.ndarray, ForwardRef('VideoDecoder')])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/video.py#L105)

**パラメータ:**

value (`str`、`np.ndarray`、`bytes`、`bytearray`、`VideoDecoder`または`dict`) : Video機能への入力として渡されるデータ。

**戻り値:**

`dict`で、"path"と"bytes"フィールドを持つ

例をArrow用の形式にエンコードします。

#### flatten[[datasets.Video.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/video.py#L229)

デコード可能な状態の場合、特徴量そのものを返し、それ以外の場合は特徴量を辞書にフラット化します。

### メッシュ[[datasets.Mesh]]

#### datasets.Mesh[[datasets.Mesh]]

```python
datasets.Mesh(decode: bool = True, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/mesh.py#L23)

**パラメータ:**

decode (`bool`、デフォルトは`True`) : メッシュデータをデコードするかどうか。`False`の場合、`{"path": mesh_path, "bytes": mesh_bytes}`形式の基底辞書を返します。メッシュのデコードには`trimesh`を使用し、`.glb`、`.gltf`、`.ply`、`.stl`ファイルをサポートしています。

`Feature` を使用して、ファイルから3Dメッシュデータを読み取ります。

入力: Mesh機能は以下を入力として受け入れます:
- `str`: メッシュファイルへの絶対パス（つまり、ランダムアクセスが許可されています）。
- `pathlib.Path`: メッシュファイルへのパス（つまり、ランダムアクセスが許可されています）。
- `dict`で、キーは以下の通りです:

  - `path`: アーカイブファイルに対するメッシュファイルの相対パスを示す文字列。
  - `bytes`: メッシュファイルのバイト数。

  メッシュファイルを埋め込んでいるparquetファイルやwebdatasetファイルに対して、この機能は有用です。

- `trimesh.Trimesh`または`trimesh.Scene`: 3Dメッシュまたはシーンオブジェクト。

出力: Mesh機能は、データを`trimesh.Trimesh`または`trimesh.Scene`オブジェクトとして出力します。

#### cast_storage[[datasets.Mesh.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/mesh.py#L162)

**パラメータ:**

storage (`Union[pa.StringArray, pa.StructArray]`) : キャスト対象の PyArrow アレイ。

**戻り値:** `pa.StructArray`

Mesh arrowストレージ型内の配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

Arrow配列をMeshのarrowストレージ型にキャストします。Meshのpyarrowストレージ型に変換できるArrow型は以下の通りです：

- `pa.string()` - "path" データを含む必要があります
- `pa.large_string()` - "path" データを含む必要があります（可能な場合は文字列にキャストされます）
- `pa.binary()` - メッシュのバイト列を含まなければなりません
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - 順序は重要ではありません

#### decode_example[[datasets.Mesh.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/mesh.py#L91)

**パラメータ:**

value (`dict`) : 以下のキーを持つ辞書: - `path`: メッシュファイルの絶対パスまたは相対パスを示す文字列。 - `bytes`: メッシュファイルのバイト列。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリからメッシュファイルにアクセスしてデコードするには、`str`のrepo_idから`bool`または`str`のtokenへの辞書を渡すことができます。

**戻り値:**

`trimesh.Trimesh` または `trimesh.Scene`

デコード例のメッシュファイルをデコードします。

#### embed_storage[[datasets.Mesh.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/mesh.py#L215)

**パラメータ:**

storage (`pa.StructArray`) : 埋め込む PyArrow 配列。

token_per_repo_id (`dict`, 任意) : ファイルのバイトを取得するための、repo_id -> トークンの辞書。

local_files (`bool`、デフォルトは`True`) : ローカルファイルのデータを配列に埋め込むかどうか。

remote_files (`bool`、デフォルトは`True`) : リモートファイルのデータを配列に埋め込むかどうか。

**戻り値:** `pa.StructArray`

Mesh arrowストレージ型内の配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

メッシュファイルをArrow配列に埋め込みます。

#### encode_example[[datasets.Mesh.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('trimesh.Trimesh'), ForwardRef('trimesh.Scene')])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/mesh.py#L57)

**パラメータ:**

value (`str`、`bytes`、`dict`、`trimesh.Trimesh`、または `trimesh.Scene`) : Mesh 機能への入力として渡されるデータ。

**戻り値:**

`dict`で、"path"と"bytes"フィールドを持つ

例をArrow用の形式にエンコードします。

#### flatten[[datasets.Mesh.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/mesh.py#L149)

デコード可能な状態の場合、特徴量そのものを返し、それ以外の場合は特徴量を辞書にフラット化します。

### Json[[datasets.Json]]

#### datasets.Json[[datasets.Json]]

```python
datasets.Json(decode: bool = True, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1250)

JSONオブジェクトの機能タイプ。

内部では、オブジェクトはJSONエンコードされた文字列として保存されます。

例:

```py
>>> from datasets import Features, Json
>>> features = Features({'json': Json()})
>>> features
{'json': Json()}
```

```py
>>> from datasets import Dataset, Features, Json, List
>>> features = Features({"a": List(Json())})
>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]}, features=features)
>>> # OR
>>> ds = Dataset.from_dict({"a": [[{"b": 0}, {"c": 0}]]}, on_mixed_types="use_json")
>>> ds.features
{'a': List(Json())}
>>> ds[0]
{'a': [{'b': 0}, {'c': 0}]}
>>> def f(x):
...     for y in x["a"]:
...         y["d"] = "foo"
...     return x
>>> ds = ds.map(f)
>>> ds.features
>>> ds[0]
{'a': [{'b': 0, 'd': 'foo'}, {'c': 0, 'd': 'foo'}]}
```

#### cast_storage[[datasets.Json.cast_storage]]

```python
cast_storage(storage: Array)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/features.py#L1313)

**パラメータ:**

storage (`Union[pa.StringArray, pa.IntegerArray]`) : キャストする PyArrow アレイ。

**戻り値:** `pa.JsonArray`

`Json`アローストレージ型内の配列。

Arrow配列を`Json`のArrowストレージ型にキャストします。

### Pdf[[datasets.Pdf]]

#### datasets.Pdf[[datasets.Pdf]]

```python
datasets.Pdf(decode: bool = True, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/pdf.py#L31)

**パラメータ:**

decode (`bool`、デフォルトは`True`) : PDF デコードを行うかどうか。`False`の場合、`{"path": pdf_path, "bytes": pdf_bytes}`形式の基底辞書を返します。

**実験的。** PDFファイルからPDFドキュメントを読み込むための`Feature`。

入力: Pdf機能は以下を入力として受け入れます:
- `str`: PDFファイルへの絶対パス（つまり、ランダムアクセスが許可されています）。
- `pathlib.Path`: PDFファイルへのパス（つまり、ランダムアクセスが許可されています）。
- `dict`で、キーは以下の通りです:
  - `path`: データセットリポジトリ内の PDF ファイルの相対パスを示す文字列。
  - `bytes`: PDFファイルのバイト列。シーケンシャルアクセスを行うアーカイブファイルに便利です。

- `pdfplumber.pdf.PDF`: pdfplumberのPDFオブジェクト。

例:

```py
>>> from datasets import Dataset, Pdf
>>> ds = Dataset.from_dict({"pdf": ["path/to/pdf/file.pdf"]}).cast_column("pdf", Pdf())
>>> ds.features["pdf"]
Pdf(decode=True, id=None)
>>> ds[0]["pdf"]
<pdfplumber.pdf.PDF object at 0x7f8a1c2d8f40>
>>> ds = ds.cast_column("pdf", Pdf(decode=False))
>>> ds[0]["pdf"]
{'bytes': None,
'path': 'path/to/pdf/file.pdf'}
```

#### cast_storage[[datasets.Pdf.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.ListArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/pdf.py#L183)

**パラメータ:**

storage (`Union[pa.StringArray, pa.StructArray, pa.ListArray]`) : キャストする PyArrow アレイ。

**戻り値:** `pa.StructArray`

Pdf アローストレージ型内の配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

Arrow配列をPdfのarrowストレージ型にキャストします。Pdfのpyarrowストレージ型に変換できるArrow型は以下の通りです：

- `pa.string()` - "path" データを含む必要があります
- `pa.binary()` - 画像のバイト列を含まなければなりません
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - 順序は重要ではありません
- `pa.list(*)` - pdf配列データを含む必要があります

#### decode_example[[datasets.Pdf.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/pdf.py#L113)

**パラメータ:**

value (`str` または `dict`) : 絶対パスのPDFファイルパスを示す文字列、または以下のキーを持つ辞書: - `path`: 絶対パスまたは相対パスのPDFファイルパスを示す文字列。 - `bytes`: PDFファイルのバイト列。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリからPDFファイルにアクセスしてデコードするには、repo_id (`str`) -> token (`bool` または `str`) の辞書を渡すことができます。

**戻り値:**

`pdfplumber.pdf.PDF`

PDFファイルのデコード例をPDFデータに変換します。

#### embed_storage[[datasets.Pdf.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/pdf.py#L220)

**パラメータ:**

storage (`pa.StructArray`) : 埋め込む PyArrow 配列。

token_per_repo_id (`dict`, 任意) : ファイルのバイトを取得するための、repo_id -> トークンの辞書。

local_files (`bool`、デフォルトは`True`) : ローカルファイルのデータを配列に埋め込むかどうか

remote_files (`bool`、デフォルトは`True`) : リモートファイルのデータを配列に埋め込むかどうか。例えば、hf://やhttps://で始まるパスを持つファイルなど。

**戻り値:** `pa.StructArray`

PDFアローストレージ型における配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

PDFファイルをArrow配列に埋め込みます。

#### encode_example[[datasets.Pdf.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('pdfplumber.pdf.PDF')])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/pdf.py#L78)

**パラメータ:**

value (`str`、`bytes`、`pdfplumber.pdf.PDF` または `dict`) : Pdf 機能への入力として渡されるデータ。

**戻り値:**

`dict`で、"path"と"bytes"フィールドを持つ

例をArrow用の形式にエンコードします。

#### flatten[[datasets.Pdf.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/pdf.py#L170)

デコード可能な状態の場合、特徴量そのものを返し、それ以外の場合は特徴量を辞書にフラット化します。

### Nifti[[datasets.Nifti]]

#### datasets.Nifti[[datasets.Nifti]]

```python
datasets.Nifti(decode: bool = True, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/nifti.py#L64)

**パラメータ:**

decode (`bool`、デフォルトは`True`) : NIfTI デコードを行うかどうか。`False` の場合、バイト列の文字列が返されます。サンプルのデコード時には`decode=False`はサポートされていません。

**実験的。** NIfTI 神経画像ファイルを読み取るための Nifti `Feature`。

入力: Nifti機能は、以下を入力として受け入れます:
- `str`: NIfTIファイルへの絶対パス（つまり、ランダムアクセスが許可されています）。
- `pathlib.Path`: NIfTIファイルへのパス（つまり、ランダムアクセスが許可されています）。
- `dict`で、キーは以下の通りです:
  - `path`: データセットリポジトリ内の NIfTI ファイルの相対パスを示す文字列。
  - `bytes`: NIfTIファイルのバイト列。シーケンシャルアクセスを行うアーカイブファイルに便利です。

- `nibabel`の画像オブジェクト（例: `nibabel.nifti1.Nifti1Image`）。

例:

```py
>>> from datasets import Dataset, Nifti
>>> ds = Dataset.from_dict({"nifti": ["path/to/file.nii.gz"]}).cast_column("nifti", Nifti())
>>> ds.features["nifti"]
Nifti(decode=True, id=None)
>>> ds[0]["nifti"]
<nibabel.nifti1.Nifti1Image object at 0x7f8a1c2d8f40>
>>> ds = ds.cast_column("nifti", Nifti(decode=False))
>>> ds[0]["nifti"]
{'bytes': None,
'path': 'path/to/file.nii.gz'}
```

#### cast_storage[[datasets.Nifti.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray, pyarrow.lib.BinaryArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/nifti.py#L298)

**パラメータ:**

storage (`Union[pa.StringArray, pa.StructArray, pa.BinaryArray]`) : キャスト対象の PyArrow アレイ。

**戻り値:** `pa.StructArray`

Nifti アローストレージ型内の配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

Arrow配列をNiftiのarrowストレージ型にキャストします。Niftiのpyarrowストレージ型に変換できるArrow型は以下の通りです:

- `pa.string()` - "path" データを含む必要があります
- `pa.binary()` - NIfTIバイト列を含む必要があります
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - 順序は重要ではありません

#### decode_example[[datasets.Nifti.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/nifti.py#L150)

**パラメータ:**

value (`str` または `dict`) : 絶対パスの NIfTI ファイルパスを示す文字列、または以下のキーを持つ辞書: - `path`: 絶対パスまたは相対パスの NIfTI ファイルパスを示す文字列。 - `bytes`: NIfTI ファイルのバイト列。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリからNIfTIファイルにアクセスしてデコードするには、repo_id (`str`) -> token (`bool` または `str`) の辞書を渡すことができます。

**戻り値:**

`nibabel.Nifti1Image`オブジェクト

NIfTIファイルのデコード例をnibabelのイメージオブジェクトに変換します。

#### embed_storage[[datasets.Nifti.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/nifti.py#L216)

**パラメータ:**

storage (`pa.StructArray`) : 埋め込む PyArrow 配列。

token_per_repo_id (`dict`, 任意) : ファイルのバイトを取得するための、repo_id -> トークンの辞書。

local_files (`bool`、デフォルトは`True`) : ローカルファイルのデータを配列に埋め込むかどうか

remote_files (`bool`、デフォルトは`True`) : リモートファイルのデータを配列に埋め込むかどうか。例えば、hf://やhttps://で始まるパスを持つファイルなど。

**戻り値:** `pa.StructArray`

NifTIのarrowストレージ型における配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`です。

NifTIファイルをArrow配列に埋め込みます。

#### encode_example[[datasets.Nifti.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('nib.Nifti1Image')])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/nifti.py#L110)

**パラメータ:**

value (`str`、`bytes`、`nibabel.Nifti1Image` または `dict`) : Nifti 機能への入力として渡されるデータ。

**戻り値:**

`dict`で、"path"と"bytes"フィールドを持つ

例をArrow用の形式にエンコードします。

#### flatten[[datasets.Nifti.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/nifti.py#L285)

デコード可能な状態の場合、特徴量そのものを返し、それ以外の場合は特徴量を辞書にフラット化します。

### BioSequence[[datasets.BioSequence]]

#### datasets.BioSequence[[datasets.BioSequence]]

```python
datasets.BioSequence(format: str = 'fasta', decode: bool = True, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_sequence.py#L44)

**パラメータ:**

format (`str`、デフォルトは`"fasta"`) : `Bio.SeqIO`が認識するシーケンス形式の名前です。一般的な値は`"fasta"`、`"fastq"`、`"genbank"`です。

decode (`bool`、デフォルトは`True`) : シーケンスデータをデコードするかどうか。`False`の場合、`{"path": path, "bytes": bytes}`形式の基底辞書を返します。

**実験的。** シーケンスファイルから生物学的シーケンスレコードを読み取るための BioSequence `Feature`。

シーケンスファイルには、残基の識別子とアノテーションを伴う1つ以上のレコードが含まれます。FASTA、FASTQ、GenBankはこのレベルでは同じ構造であり、使用されるパーサーだけが異なります。そのため、`format`は型ではなくパーサーを選択します。

入力: BioSequence機能は、以下を入力として受け入れます:
- `str`: シーケンスファイルへの絶対パス（つまり、ランダムアクセスが許可されています）。
- `pathlib.Path`: シーケンスファイルへのパス（つまり、ランダムアクセスが許可されています）。
- `dict`で、キーは以下の通りです:
  - `path`: データセットリポジトリ内のシーケンスファイルの相対パスを示す文字列。
  - `bytes`: シーケンスファイルのバイト列。シーケンシャルアクセスを行うアーカイブファイルに便利です。

- `Bio.SeqRecord.SeqRecord`: biopythonのシーケンスレコード。

例:

```py
>>> from datasets import Dataset, BioSequence
>>> ds = Dataset.from_dict({"seq": ["path/to/sequences.fasta"]}).cast_column("seq", BioSequence())
>>> ds.features["seq"]
BioSequence(format='fasta', decode=True)
>>> ds[0]["seq"]
SeqRecord(seq=Seq('ACGT'), id='seq1', name='seq1', description='seq1', dbxrefs=[])
>>> ds = ds.cast_column("seq", BioSequence(decode=False))
>>> ds[0]["seq"]
{'bytes': None,
'path': 'path/to/sequences.fasta'}
```

#### cast_storage[[datasets.BioSequence.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_sequence.py#L199)

**パラメータ:**

storage (`Union[pa.StringArray, pa.StructArray]`) : キャスト対象の PyArrow アレイ。

**戻り値:** `pa.StructArray`

BioSequenceのarrowストレージ型における配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`。

Arrow配列をBioSequenceのarrowストレージ型にキャストします。BioSequenceのpyarrowストレージ型に変換できるArrow型は以下の通りです：

- `pa.string()` - "path" データを含む必要があります
- `pa.binary()` - ファイルのバイト列を含まなければなりません
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - 順序は重要ではありません

#### decode_example[[datasets.BioSequence.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_sequence.py#L132)

**パラメータ:**

value (`str` または `dict`) : 絶対ファイルパスの文字列、または以下のキーを持つ辞書: - `path`: 絶対または相対ファイルパスの文字列。 - `bytes`: ファイルのバイト列。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリからファイルにアクセスしてデコードするには、repo_id (`str`) -> token (`bool` または `str`) の辞書を渡すことができます。

**戻り値:**

`Bio.SeqRecord.SeqRecord`

Decode example sequence file into a biopython record.

ファイルには複数のレコードが含まれる場合があります。1行が1レコードに対応するため、ここでは最初のレコードが返されます。1レコードごとに1行ずつ展開するには、パッケージに同梱されているシーケンスローダーを使用してください。

#### embed_storage[[datasets.BioSequence.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_sequence.py#L219)

**パラメータ:**

storage (`pa.StructArray`) : 埋め込む PyArrow 配列。

token_per_repo_id (`dict`, 任意) : ファイルのバイトを取得するための、repo_id -> トークンの辞書。

local_files (`bool`、デフォルトは`True`) : ローカルファイルのデータを配列に埋め込むかどうか。

remote_files (`bool`、デフォルトは`True`) : リモートファイルのデータを配列に埋め込むかどうか。

**戻り値:** `pa.StructArray`

BioSequenceのarrowストレージ型内の配列。

シーケンスファイルをArrow配列に埋め込みます。

#### encode_example[[datasets.BioSequence.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('SeqRecord')])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_sequence.py#L99)

**パラメータ:**

value (`str`、`bytes`、`Bio.SeqRecord.SeqRecord` または `dict`) : BioSequence 機能への入力として渡されるデータ。

**戻り値:**

`dict`で、"path"と"bytes"フィールドを持つ

例をArrow用の形式にエンコードします。

#### flatten[[datasets.BioSequence.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_sequence.py#L186)

デコード可能な状態の場合、特徴量そのものを返し、それ以外の場合は特徴量を辞書にフラット化します。

### BioStructure[[datasets.BioStructure]]

#### datasets.BioStructure[[datasets.BioStructure]]

```python
datasets.BioStructure(format: str = 'pdb', decode: bool = True, id: typing.Optional[str] = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_structure.py#L48)

**パラメータ:**

format (`str`、デフォルトは`"pdb"`) : 構造の形式。`"pdb"`または`"mmcif"`のいずれかです。

decode (`bool`、デフォルトは`True`) : 構造データをデコードするかどうか。`False`の場合、`{"path": path, "bytes": bytes}`形式の基底辞書を返します。

**実験的。** BioStructureの`Feature`は、構造ファイルから高分子構造を読み込むためのものです。

構造ファイルは、分子の原子の三次元座標を、チェーンと残基にグループ化して保持します。PDBとmmCIFは同じオブジェクトを記述しており、使用されるパーサーの違いのみです。そのため、`format`は型ではなくパーサーを選択します。

入力: BioStructure機能は、以下を入力として受け入れます:
- `str`: 構造ファイルへの絶対パス（つまり、ランダムアクセスが許可されています）。
- `pathlib.Path`: 構造ファイルへのパス（つまり、ランダムアクセスが許可されています）。
- `dict`で、キーは以下の通りです:
  - `path`: データセットリポジトリ内の構造ファイルの相対パスを示す文字列。
  - `bytes`: 構造ファイルのバイト列。シーケンシャルアクセスを行うアーカイブファイルに便利です。

- `Bio.PDB.Structure.Structure`: biopythonの構造。

例:

```py
>>> from datasets import Dataset, BioStructure
>>> ds = Dataset.from_dict({"st": ["path/to/1abc.pdb"]}).cast_column("st", BioStructure())
>>> ds.features["st"]
BioStructure(format='pdb', decode=True)
>>> ds[0]["st"]
<Structure id=1abc>
>>> ds = ds.cast_column("st", BioStructure(decode=False))
>>> ds[0]["st"]
{'bytes': None,
'path': 'path/to/1abc.pdb'}
```

#### cast_storage[[datasets.BioStructure.cast_storage]]

```python
cast_storage(storage: typing.Union[pyarrow.lib.StringArray, pyarrow.lib.StructArray])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_structure.py#L204)

**パラメータ:**

storage (`Union[pa.StringArray, pa.StructArray]`) : キャスト対象の PyArrow アレイ。

**戻り値:** `pa.StructArray`

BioStructureのarrowストレージ型における配列、すなわち`pa.struct({"bytes": pa.binary(), "path": pa.string()})`です。

Arrow配列をBioStructureのarrowストレージ型にキャストします。BioStructureのpyarrowストレージ型に変換できるArrow型は以下の通りです：

- `pa.string()` - "path" データを含む必要があります
- `pa.binary()` - ファイルのバイト列を含まなければなりません
- `pa.struct({"bytes": pa.binary()})`
- `pa.struct({"path": pa.string()})`
- `pa.struct({"bytes": pa.binary(), "path": pa.string()})` - 順序は重要ではありません

#### decode_example[[datasets.BioStructure.decode_example]]

```python
decode_example(value: dict, token_per_repo_id = None)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_structure.py#L138)

**パラメータ:**

value (`str` または `dict`) : 絶対ファイルパスの文字列、または以下のキーを持つ辞書: - `path`: 絶対または相対ファイルパスの文字列。 - `bytes`: ファイルのバイト列。

token_per_repo_id (`dict`, *任意*) : Hub上のプライベートリポジトリからファイルにアクセスしてデコードするには、repo_id (`str`) -> token (`bool` または `str`) の辞書を渡すことができます。

**戻り値:**

`Bio.PDB.Structure.Structure`

Decode example structure fileをBiopythonの構造に変換します。

#### embed_storage[[datasets.BioStructure.embed_storage]]

```python
embed_storage(storage: StructArray, token_per_repo_id = None, local_files: bool = True, remote_files: bool = True)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_structure.py#L224)

**パラメータ:**

storage (`pa.StructArray`) : 埋め込む PyArrow 配列。

token_per_repo_id (`dict`, 任意) : ファイルのバイトを取得するための、repo_id -> トークンの辞書。

local_files (`bool`、デフォルトは`True`) : ローカルファイルのデータを配列に埋め込むかどうか。

remote_files (`bool`、デフォルトは`True`) : リモートファイルのデータを配列に埋め込むかどうか。

**戻り値:** `pa.StructArray`

BioStructureのarrowストレージ型における配列。

構造ファイルをArrow配列に埋め込みます。

#### encode_example[[datasets.BioStructure.encode_example]]

```python
encode_example(value: typing.Union[str, bytes, bytearray, dict, ForwardRef('Structure')])
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_structure.py#L105)

**パラメータ:**

value (`str`、`bytes`、`Bio.PDB.Structure.Structure` または `dict`) : BioStructure 特徴に渡される入力データ。

**戻り値:**

`dict`で、"path"と"bytes"フィールドを持つ

例をArrow用の形式にエンコードします。

#### flatten[[datasets.BioStructure.flatten]]

```python
flatten()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/features/bio_structure.py#L191)

デコード可能な状態の場合、特徴量そのものを返し、それ以外の場合は特徴量を辞書にフラット化します。

## ファイルシステム[[datasets.filesystems.is_remote_filesystem]]

#### datasets.filesystems.is_remote_filesystem[[datasets.filesystems.is_remote_filesystem]]

```python
datasets.filesystems.is_remote_filesystem(fs: AbstractFileSystem)
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/filesystems/__init__.py#L33)

**パラメータ:**

fs (`fsspec.spec.AbstractFileSystem`) : Pythonicなファイルシステムのための抽象的なスーパークラス。例: `fsspec.filesystem('file')` または `s3fs.S3FileSystem`。

`fs`がリモートファイルシステムかどうかを確認します。

## 指紋[[datasets.fingerprint.Hasher]]

#### datasets.fingerprint.Hasher[[datasets.fingerprint.Hasher]]

```python
datasets.fingerprint.Hasher()
```

[ソース](https://github.com/huggingface/datasets/blob/main/src/datasets/fingerprint.py#L196)

Pythonオブジェクトを入力として受け入れるハッシャー。

