函数中的Python垃圾邮件过滤器函数列名

函数中的Python垃圾邮件过滤器函数列名,python,pandas,function,filter,spam,Python,Pandas,Function,Filter,Spam,大家好,我正在尝试建立一个垃圾邮件过滤器,现在我再也找不到了 我想创建一个函数,显示某个单词是否为垃圾邮件的概率 这是我的职责: 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

大家好,我正在尝试建立一个垃圾邮件过滤器,现在我再也找不到了

我想创建一个函数,显示某个单词是否为垃圾邮件的概率

这是我的职责:

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以这种方式访问列名

如果我这样做:

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\u set。word
表示在
train\u set
中存在一个名为
word
的列,但实际上它不包含任何名为
word
的列

替换:

与:


注:
train\u set.word
表示在
train\u set
中存在一个名为
word
的列,但实际上它不包含任何名为
word
的列

替换:

与:


您是否可以使用[]访问它,如下所示:

tot_word = train_set[word].sum()

您是否可以使用[]访问它,如下所示:

tot_word = train_set[word].sum()

你有没有理由把它显式格式化为字符串,而不是随便写
train\u set[word]
?@IvoMerchiers没有。你有没有理由把它显式格式化为字符串,而不是随便写
train\u set[word]
?@IvoMerchiers没有。
tot_word = train_set[word].sum()