我正在尝试使用python中的正则表达式来清理数据集中的列,这是一个挑战。该列是对象类型,当我使用以下代码时,出现此错误:预期的字符串或类似字节的对象
import re
def clean_str(string):
"""
Tokenization/string cleaning for dataset
Every dataset is lower cased except
"""
string = re.sub(r"\n", "", string)
string = re.sub(r"\r", "", string)
string = re.sub(r"[0-9]", "digit", string)
string = re.sub(r"\'", "", string)
string = re.sub(r"\"", "", string)
return string.strip().lower()
X = []
for i in range(df.shape[0]):
X.append(clean_str(df.iloc[i][1])) #0,1,2,3
y = np.array(df["Standardpositionsname"])
答案 0 :(得分:2)
我认为在X.append(clean_str(df.iloc[i][1]))
中,您必须将参数转换为字符串类型
像这样
X.append(clean_str(str(df.iloc[i][1])))