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

向Hugging Face Hub推送数据集时遇Arrow相关错误求助

解决ArrowNotImplementedError: Unhandled type for Arrow to Parquet schema conversion: string

排查与解决步骤:

  1. 检查DataFrame列类型
    直接运行df.dtypes查看各列类型。如果字符串列显示为Pandas的扩展string dtype(而非标准object dtype),这大概率是问题根源——pickle加载的数据集可能保留了这种扩展类型,而Hugging Face Dataset的Arrow转Parquet逻辑对其支持不完善。

  2. 强制转换为兼容类型
    将所有字符串列转换为Python原生字符串类型:

# 替换成你实际的字符串列名
string_columns = ["col1", "col2", "col3", "col4"]
df[string_columns] = df[string_columns].astype(str)

# 或者批量处理所有字符串相关列
df = df.apply(lambda col: col.astype(str) if col.dtype in ("object", "string") else col)
  1. 开启自动类型转换
    调用Dataset.from_pandas时加上convert_types=True参数,让Dataset自动完成Pandas到Arrow兼容类型的转换:
from datasets import Dataset
dataset = Dataset.from_pandas(df, convert_types=True)
dataset.push_to_hub("username/my_dataset", private=True)
  1. 验证转换结果
    转换后运行dataset.info.features确认列类型:字符串列应显示为Value(dtype='string'),整数列对应Value(dtype='int64'),确保所有类型都符合Arrow的Parquet转换要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 20:55:30