簡體   English   中英

Python 垃圾郵件過濾器 function function 中的列名稱

[英]Python Spam filter function column name in function

大家好,我嘗試建立一個垃圾郵件過濾器,現在我無法再進一步了。

我想創建一個 function 來顯示某個單詞是否為垃圾郵件的概率。

我的數據框中的表

這是我的 function:

def P_E_S(word):
if word in train_set.columns:
    tot_word = train_set.word.sum()
    tot_word_spam = train_set.word[(train_set.type == 'spam')].sum()

    P_word_spam = tot_word_spam / tot_word 
    return P_word_spam
else:
    return 1

問題是我無法使用第 3 行和第 4 行中的word以這種方式訪問列名。

如果我像這樣執行 function :

def P_E_S(word):
if word in train_set.columns:
    tot_word = train_set.make.sum()
    tot_word_spam = train_set.make[(train_set.type == 'spam')].sum()

    P_word_spam = tot_word_spam / tot_word 
    return P_word_spam
else:
    return 1

它工作得很好,但我需要更改第 3 行和第 4 行中的make一詞。

任何人都可以幫忙嗎? 太感謝了。

注意: train_set.word意味着在train_set中存在一個名為word的列,但實際上它不包含任何名為word的列。

代替:

train_set.word

和:

train_set[word]

您可以使用 [] 訪問它,如下所示:

tot_word = train_set[word].sum()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM