You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将pandas DataFrame转换为TensorFlow数据集用于文本二分类

完全可以实现,你可以用tf.data.Dataset.from_tensor_slices方法完成转换,最终得到的数据集格式和官方教程中的输出完全兼容,可直接对接后续BERT训练流程,步骤如下:

步骤1:拆分数据集

首先按照官方教程的拆分比例,将完整DataFrame拆分为训练集、验证集、测试集:

import tensorflow as tf
import pandas as pd
from sklearn.model_selection import train_test_split

# 此处替换为你已经加载好的DataFrame变量名
df = pd.read_csv("你的数据集路径.csv")

AUTOTUNE = tf.data.AUTOTUNE
batch_size = 32
seed = 42

# 先拆分出20%作为测试集
train_val_df, test_df = train_test_split(df, test_size=0.2, random_state=seed)
# 再从剩余数据中拆分20%作为验证集,和官方教程划分逻辑一致
train_df, val_df = train_test_split(train_val_df, test_size=0.2, random_state=seed)

步骤2:转换为TensorFlow数据集

直接通过from_tensor_slices方法生成和官方格式一致的数据集:

# 生成训练集:(文本批次, 标签批次) 结构
train_ds = tf.data.Dataset.from_tensor_slices(
    (train_df['Description'].values, train_df['Target'].values)
).shuffle(buffer_size=len(train_df), seed=seed).batch(batch_size).cache().prefetch(buffer_size=AUTOTUNE)

# 生成验证集
val_ds = tf.data.Dataset.from_tensor_slices(
    (val_df['Description'].values, val_df['Target'].values)
).batch(batch_size).cache().prefetch(buffer_size=AUTOTUNE)

# 生成测试集
test_ds = tf.data.Dataset.from_tensor_slices(
    (test_df['Description'].values, test_df['Target'].values)
).batch(batch_size).cache().prefetch(buffer_size=AUTOTUNE)

# 手动定义分类名称,功能和官方教程输出的class_names完全一致
class_names = ['failed', 'passed']

注意事项

转换前请提前清理DataFrame中Description和Target列的空值,避免转换过程报错。如果你的数据集体积超过内存容量,可以改用tf.data.experimental.make_csv_dataset方法直接从CSV文件流式加载,无需全量加载到内存。

内容的提问来源于stack exchange,提问作者Sai Ganesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 08:06:03