当前位置: 首页 > 工具软件 > datasets > 使用案例 >

datasets Dataset类(1)

澹台岳
2023-12-01

构造方法

函数原型

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

函数说明

根据ArrowTable产生一个Dataset对象。

类属性/方法

1、from_dict函数

datasets.Dataset.from_dict(
        mapping: dict,
        features: Optional[Features] = None,
        info: Optional[Any] = None,
        split: Optional[Any] = None,
    )

根据字典来创建Dataset数据集对象。

d = {"text": [1, 2, 3, 4], "labels": [0, 0, 1, 1]}
dataset = datasets.Dataset.from_dict(d)

2、from_pandas函数

datasets.Dataset.from_pandas(
        df: pd.DataFrame,
        features: Optional[Features] = None,
        info: Optional[DatasetInfo] = None,
        split: Optional[NamedSplit] = None,
        preserve_index: Optional[bool] = None,
    )

根据pandas中的DataFrame对象创建Dataset对象。

a = np.reshape(np.linspace(1, 10, 10), (5, 2))
df = pd.DataFrame(a)
dataset = datasets.Dataset.from_pandas(df)

3、from_csv函数

datasets.Dataset.from_csv(
        path_or_paths: Union[PathLike, List[PathLike]],
        split: Optional[NamedSplit] = None,
        features: Optional[Features] = None,
        cache_dir: str = None,
        keep_in_memory: bool = False,
        **kwargs,
    )

根据csv文件来创建Dataset对象。

4、from_json函数

datasets.Dataset.from_json(
        path_or_paths: Union[PathLike, List[PathLike]],
        split: Optional[NamedSplit] = None,
        features: Optional[Features] = None,
        cache_dir: str = None,
        keep_in_memory: bool = False,
        field: Optional[str] = None,
        **kwargs,
    )

根据json文件来创建Dataset对象。

5、from_text函数

datasets.Dataset.from_text(
        path_or_paths: Union[PathLike, List[PathLike]],
        split: Optional[NamedSplit] = None,
        features: Optional[Features] = None,
        cache_dir: str = None,
        keep_in_memory: bool = False,
        **kwargs,
    )

根据txt文件来创建Dataset对象。

6、from_parquet函数

datasets.Dataset.from_parquet(
        path_or_paths: Union[PathLike, List[PathLike]],
        split: Optional[NamedSplit] = None,
        features: Optional[Features] = None,
        cache_dir: str = None,
        keep_in_memory: bool = False,
        columns: Optional[List[str]] = None,
        **kwargs,
    )

根据parquet文件来创建Dataset对象。

7、from_file函数

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

根据arrow文件来创建Dataset对象。

8、from_buffer函数

datasets.Dataset.from_buffer(
        cls,
        buffer: pa.Buffer,
        info: Optional[DatasetInfo] = None,
        split: Optional[NamedSplit] = None,
        indices_buffer: Optional[pa.Buffer] = None,
    )

根据arrow buffer对象来创建Dataset对象。

对象属性/方法

1、data属性

获取Dataset中的数据。

2、cache_files属性

获取Dataset中数据所在的缓存文件。

3、num_columns、num_rows属性

获取Dataset中数据的列数、行数。

4、column_names属性

获取Dataset中的列名称。

5、shape属性

获取Dataset中的数据形状。

6、unique函数

dataset.unique(column)

在指定列中返回一个不重复的列表。

from datasets import load_dataset
ds = load_dataset("rotten_tomatoes", split="validation")
ds.unique('label')

7、add_column函数

dataset.add_column(name, column, new_fingerprint)

在Dataset数据集中增加一列数据。

from datasets import load_dataset
ds = load_dataset("rotten_tomatoes", split="validation")
more_text = ds["text"]
ds.add_column(name="text_2", column=more_text)

8、add_item函数

dataset.add_item(item, new_fingerprint)

在Dataset数据集中增加一行数据。

from datasets import load_dataset
ds = load_dataset("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]

9、cast函数

dataset.cast(features)

将Dataset中特征features装换成新的features。

from datasets import load_dataset, ClassLabel, Value
ds = load_dataset("rotten_tomatoes", split="validation")
ds.features
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

10、cast_column函数

dataset.cast_column(column, feature)

转换features中的某一列。

from datasets import load_dataset
ds = load_dataset("rotten_tomatoes", split="validation")
ds.features
ds = ds.cast_column('label', ClassLabel(names=['bad', 'good']))
ds.features
 类似资料: