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

使用Vaex处理动漫推荐数据集时遇TypeError问题求助

Vaex处理动漫推荐数据集时遭遇TypeError错误

使用Vaex处理动漫推荐数据集时,执行data['name_clean'].tolist()时触发TypeError: expected string or bytes-like object错误,相同逻辑用Pandas实现则运行正常。

Vaex实现代码

import pyarrow as pa
import vaex
import re

# 读取数据
anime = vaex.read_csv('/content/drive/MyDrive/Temp Datasets/Anime Recommendation Dataset/anime.csv')
user = vaex.read_csv('/content/drive/MyDrive/Temp Datasets/Anime Recommendation Dataset/rating.csv')

# 移除非字母字符
@vaex.register_function()
def replacer(x):
    res = [re.sub('[^A-Za-z]', ' ', value) for value in x.tolist()]
    res = [re.sub('  +', ' ', value.lower()) for value in res]  # 移除多余空格
    return pa.array(res, pa.string())

anime['name_clean'] = anime.func.replacer(anime['name'])
anime = anime[anime['name_clean']!=' '] # 过滤空文本
anime['name_clean']

# 合并动漫与用户数据
data = user[['user_id', 'anime_id']].join(
anime[['anime_id', 'name_clean']], on='anime_id')['user_id', 'name_clean']
data['user_id'] = data['user_id'].astype('str')

错误触发代码

data['name_clean'].tolist()

错误提示:TypeError: expected string or bytes-like object

Pandas实现代码

import pandas as pd

# 读取数据
anime = pd.read_csv('/content/drive/MyDrive/Temp Datasets/Anime Recommendation Dataset/anime.csv')
user = pd.read_csv('/content/drive/MyDrive/Temp Datasets/Anime Recommendation Dataset/rating.csv')

# 移除非字母字符
def replacer(x):
    res = re.sub('[^A-Za-z]', ' ', x)
    res = re.sub('  +', ' ', res.lower()) # 移除多余空格
    return res

anime['name'] = anime['name'].apply(replacer)
anime = anime[anime['name']!=' '] # 过滤空文本

# 合并动漫与用户数据
data = user[['user_id', 'anime_id']].merge(
anime[['anime_id', 'name']], on='anime_id')
data['user_id'] = data['user_id'].astype('str')

补充说明

怀疑问题出在Vaex中使用re.sub的方式,打印data['name_clean']显示类型为"string",但找不到Vaex数据框中移除非字母字符的其他可行方法(包括apply方法)来解决此问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:01:04