如何在函数内创建熊猫数据框

时间:2020-03-27 06:14:15

标签: python pandas

我编写了一个将句子拆分为单词的功能,我需要从中创建功能。我遇到以下问题 1.当我使用列表保存所有值时,在检索它们时,所有功能都创建为单个列,而我需要将每个特征都作为单个列 2.即使我正在使用if条件检查计数是否为零,也会得到零除错误

def token_features(q1,q2):
    stats = [0.0]*10

    q1_tokens = q1.split()
    q2_tokens = q2.split()

    q1_words = set([word for word in q1_tokens if word not in STOP_WORDS])
    q2_words = set([word for word in q2_tokens if word not in STOP_WORDS])
    common_word_count = len(set(q1_words) & set(q2_words))

    s1_stops = set([word for word in q1_tokens if word in STOP_WORDS])
    s2_stops = set([word for word in q2_tokens if word in STOP_WORDS])
    stop_word_count = len(s1_stops & s2_stops)    

    common_token_count = len(set(q1_tokens) & set(q2_tokens))

    if (common_word_count==0 or stop_word_count==0 or common_token_count==0):
        pass

    stats[0] = common_word_count/min(len(q1_words),len(q2_words))
    stats[1] = common_word_count/max(len(q1_words),len(q2_words))    
    stats[2] = stop_word_count/min(len(s1_stops),len(s2_stops))
    stats[3] = stop_word_count/max(len(s1_stops),len(s2_stops))
    stats[4] = common_token_count/min(len(q1_tokens),len(q2_tokens))
    stats[5] = common_token_count/max(len(q1_tokens),len(q2_tokens)) 
    stats[6] = int(q1_tokens[-1] == q2_tokens[-1])
    stats[7] = int(q1_tokens[0] == q2_tokens[0])
    stats[8] = abs(len(q1_tokens) - len(q2_tokens))
    stats[9] = (len(q1_tokens) + len(q2_tokens))/2 

    return stats

我需要的是 1.如何在函数内部创建一个数据框并将其添加到另一个数据框。即我有一个命名为Dataframe的数据框,其中包含a,b列。现在,我需要在函数内部创建一个数据框,并将该数据框的这些列添加到“输出”数据框中。

1 个答案:

答案 0 :(得分:0)

如果我正确理解,您正在尝试这样做:

(<[^>]+>); rel="next"