如何将列的ngram频率绑定回原始数据帧?

2024-04-19 10:45:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个熊猫数据框,有帐户信息和取消的原因。我已经清理了数据/柠檬化/删除了我自己的停止词,得出了n克和频率。如何将所有ngram添加回原始数据集,使频率与帐户级别信息一致?理想情况下,我想采取这一点,并输出一个文件,我可以给企业。你知道吗

有没有一种方法可以使用稀疏矩阵来实现这一点?不确定这是否可行,甚至无法扩展到更大的数据集。你知道吗

下面是我想附加到原始数据帧的频率的图片。你知道吗

frequencies code


Tags: 文件数据方法信息原始数据情况原因矩阵
1条回答
网友
1楼 · 发布于 2024-04-19 10:45:23

我终于想出了办法:

在创建稀疏矩阵并将其拟合到数据帧之后,我能够通过使用索引作为连接列将数据与原始数据帧合并。下面是我的代码示例:

tf_vect_final = CountVectorizer(max_df=0.90,min_df=5,stop_words=stop, 
                                  ngram_range=(5,5),analyzer='word')

tf_vect_final.fit(dfn['Not Written Comments_clean_stop'].tolist())

print("There are {} grams found".format(len(tf_vect_final.get_feature_names())))

tff = tf_vect_final.transform(dfn['Not Written Comments_clean_stop'].tolist())

tff = pd.DataFrame(tff.toarray(),columns=tf_vect_final.get_feature_names())


dfn.index.names=['PK']
tff.index.names=['PK']
dfn = dfn.reset_index()
tff = tff.reset_index()
dfn_final = dfn.merge(tff, on= 'PK')

相关问题 更多 >