如何将映射到每个特性的tfidf值提取回dataframe?

2024-06-14 07:44:51 发布

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

我有一个dataframe,它由几个包含字符串值的列组成。在这些列上计算TF-IDF会返回一个数组列表,我可以将这些数组映射回dataframe,但是现在这些值是数组(类似于多值),这使得进一步的计算非常困难。在

我想得到映射到它们的特性的数组列表(有点像一个扩展的数据帧),我可以直接把它们放在我的原始数据帧中。在

我如何实现这一点?在

样本数据:

print(d1['Keywords']) 1 APS17P, auditing standards, attestation standa... 2 APS17P, auditing standards, attestation standa... 3 AAMAAM17P, SAS No. 131, SAS No. 132, CPE, Audi... 4 AAMAAM17P, SAS No. 131, SAS No. 132, CPE, Audi... 5 APT13PHI, AICPA Professional Standards, Techni... 6 005184wz, 005184, 005186HI, 005187HI, 005188HI... 7 PAOCBOA, Special purpose framework, SPF, finan... 8 PAOCBOA, Special purpose framework, SPF, finan... 9 PAOCBOA, Special purpose framework, SPF, finan... 10 ATTNPO, Not-for-profit financial statements, N... 11 ATTNPO, Not-for-profit financial statements, N...


Tags: 数据nodataframe列表framework数组spfspecial
1条回答
网友
1楼 · 发布于 2024-06-14 07:44:51

这是您需要做的:

from sklearn.feature_extraction.text import TfidfVectorizer 
v = TfidfVectorizer() 
# 1. Apply tfidf on your data 
x = v.fit_transform(df['keywords'])   
# 2. convert results of tfidf to a dataframe 
df1 = pd.DataFrame(x.toarray(), columns=v.get_feature_names())
# 3. concatenate the tfidf dataframe to the original one 
res = pd.concat([df, df1], axis=1)

有关详细的执行说明,请查看我的答案:Append tfidf to pandas dataframe

相关问题 更多 >