熊猫申请表演

时间:2020-03-26 10:55:32

标签: pandas scikit-learn

我有一个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)

vectorizerTfidfVectorizer,而model是sklearn的GaussianNB模型。 我需要遍历csv中的每个消息并执行预测以显示在新列中

1 个答案:

答案 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