我有一个pandas apply函数,可以对10k csv的字符串进行推理
account messages
0 th_account Forgot to tell you Evan went to sleep a little...
1 th_account Hey I heard your buying a house I m getting ri...
2 th_account They re releasing a 16 MacBook
3 th_account 5 cups of coffee today I may break the record
4 th_account Apple Store Items in order W544414717 were del...
该功能大约需要运行17秒钟。 我正在研究文本分类器,想知道是否有更快的书写方式
def _predict(messages):
results = []
for message in messages:
message = vectorizer.transform([message])
message = message.toarray()
results.append(model.predict(message))
return results
df["pred"] = _predict(df.messages.values)
vectorizer
是TfidfVectorizer
,而model
是sklearn的GaussianNB模型。
我需要遍历csv中的每个消息并执行预测以显示在新列中
答案 0 :(得分:0)
您可以尝试SELECT
中的内置功能select case when len(dt) = 5 then
dateadd(day, cast(dt as int), '1900-01-01')
else convert(date, dt, 103) end
from @tbl
。它的底层使用C语言传递GIL。但仍然很慢。
apply
您可以运行以下代码来评估时间。
pandas