如何使用 python 将 tokenize 应用于数据框中的特定列?

问题描述 投票:0回答:1

我有一个包含三列的数据框。数据框中的一列需要应用标记化。我收到 TypeError :预期的字符串或类似字节的对象,得到“float” .

import pandas as pd
import os
df = pd.read_csv(r"D:\......PATH\sample_regex.xlsx")    
from nltk.tokenize import RegexpTokenizer
regexp = RegexpTokenizer('\w+')
df['CDnew'] = df['CD'].apply(regexp.tokenize)

我可以请求解决这个问题吗?

提前致谢。

数据

我正在尝试对第三列中的单词进行标记,并将标记化单词保留在新列中。但我收到 TypeError :预期的字符串或类似字节的对象,得到“float”

python regex nltk tokenize
1个回答
0
投票

您遇到的错误是由于 DataFrame 的“CD”列中存在 NaN(非数字)值所致。

检查您的列是否有多种数据类型。

print(df['CD'].apply(type).value_counts())

这将显示“CD”列中存在的每种数据类型的计数。

在应用分词器之前,您可以使用

astype(str)
方法将所有非字符串值转换为字符串。

df['CD'] = df['CD'].astype(str)  # Convert all values to strings
regexp = RegexpTokenizer('\w+')
df['CDnew'] = df['CD'].apply(regexp.tokenize)
© www.soinside.com 2019 - 2024. All rights reserved.