pandas - 如何从 Pandas 数据框中为 PyTorch 加载和预处理数据
问题描述
我有一个完全预处理的 Pandas 数据框,我想使用 pytorch 在其上运行 NLP。以下是使用TabularDataset
库加载和处理文件数据的代码:
import pandas as pd
import torch
from torchtext.legacy import data
from torchtext.legacy.data import TabularDataset
TEXT = data.Field(sequential=True)
LABEL = data.LabelField(dtype = torch.float, use_vocab = False, preprocessing = int)
datafields = [("source", None),
("label", LABEL),
('notes', None),
("text", TEXT)]
train_data, valid_data, test_data = TabularDataset.splits(path='/Folder/',
train = 'train.csv',
validation = 'validation.csv',
test = 'test.csv',
format = 'csv', skip_header=True, fields=datafields)
TEXT.build_vocab(train_data, max_size = MAX_VOCAB_SIZE, min_freq = 1)
但是,我已经将数据作为 Pandas 数据帧,我不想将它们写入.csv
然后使用TablularDataset
.
我可以从他们的数据帧(例如 train_df、valid_df、test_df)中获取train_data、valid_data、test_data的等效代码是什么?我的 Pandas 数据框中的数据示例如下:
标签 | 文本 |
---|---|
1 | 文本重要处理数据nlp过程预测 |
0 | 视觉模型成功时间模拟大快 |
请注意,文本数据是一些标记“”。连接在一起。
解决方案
推荐阅读
- ms-word - MS Word 条件块在空格后跳过文本
- python - Python 的问题,我的关卡系统的 sqlite3 排行榜命令
- postgresql - 如果字符串是 PostgreSQL 11.0 中另一列的子字符串,则选择行
- java - 如何在有状态 EJB 中获取 UISessionID?
- linux - 删除具有特定名称的所有文件夹的内容
- python - Torch 为多个 GPU 并行化任务
- javascript - 是否可以在 HTML/JS/Fluid 的最小/最大范围之外添加附加值?
- ios - Vapor 代码解释有困难,执行时出现401错误
- angular - 添加 Angular SSR 引发错误发生未处理的异常:npm ERR!代码 ERESOLVE
- c++ - 你能找出一对结构吗?