我最近从HuggingFace下载了一个数据集。
我已经使用了datasets.Dataset.load_dataset()
,它给了我一个由Apache箭头表支持的数据集。所以我在导出数据到DataFrame来处理pandas时遇到了问题。
数据集对象的结构是:
DatasetDict({
train: Dataset({
features: ['review_id', 'product_id', 'reviewer_id', 'stars', 'review_body', 'review_title', 'language', 'product_category'],
num_rows: 1200000
})
validation: Dataset({
features: ['review_id', 'product_id', 'reviewer_id', 'stars', 'review_body', 'review_title', 'language', 'product_category'],
num_rows: 30000
})
test: Dataset({
features: ['review_id', 'product_id', 'reviewer_id', 'stars', 'review_body', 'review_title', 'language', 'product_category'],
num_rows: 30000
})
})
dataset['train'].features
{'review_id': Value(dtype='string', id=None),
'product_id': Value(dtype='string', id=None),
'reviewer_id': Value(dtype='string', id=None),
'stars': Value(dtype='int32', id=None),
'review_body': Value(dtype='string', id=None),
'review_title': Value(dtype='string', id=None),
'language': Value(dtype='string', id=None),
'product_category': Value(dtype='string', id=None)}
我想将每个训练、测试和验证导出到三个不同的dataframe中。
谢谢!
您可以使用HuggingFace提供的to_pandas()
功能。
df_train = dataset['train'].to_pandas()
df_test = dataset['test'].to_pandas()
df_val = dataset['validation'].to_pandas()