如何构建规范化的 tf 数据框?

How to build a normalized tf dataframe?

我想将其应用到我的 tf 函数中。 但是无法构建函数。


我的数据集是这样的

我试过这样构建函数

def term_document_matrix(data, vocab_list = None, doc_index= 'ID', text= 'text'):
      tf_matirx = pd.DataFrame(columns=df[document_index], index= vocab).fillna(0)
    a = int(input("enter the value"))
    for word in tf_matrix.index:
    
    for doc in data[document_index]:
        
        result = a + (1-a)*[data[data[document_index] == doc][text].values[0].count(word)/X]
        X = ????????
        tf_matrix.loc[word,doc] = result
return tf_matrix

但是无法完全构建它。

此处参数说明如下

parameter: 
    data: DataFrame. 
    Frequency of word calculated against the data.
    
    vocab_list: list of strings.
    Vocabulary of the documents    
    
    doc_index: str.
    Column name for document index in DataFrame passed.
    
    text: str
    Column name containing text for all documents in DataFrame,
    
returns:
    tf_matrix: DataFrame.
    DataFrame containing term document matrix.
    """

我的目标是获得这样的数据框

您可以使用 CountVectorizer 确定 tf 数据帧。然后将每个值除以其列的最大值,并对数据框中的每一列重复此过程

 df_1st = df.apply(lambda col: col / col.max())

然后为数据框中的每个元素相乘并添加一个缩放器。

df_2nd = df_1st.apply(lambda col: lambda + col*(1-lambda))
tf_matrix = df_2nd