繁体   English   中英

通过Tf-idf值清洗句子,只保留Python中句子中tf-idf高分词

[英]Cleaning sentences through Tf-idf values and retaining only high tf-idf score words in the sentence in Python

我有一个数据集,我有一个句子,对于每个句子,我都有该句子中每个相关单词的 tf-idf 值。

Sample dataset:
                                            heel syrup word3 word4 word5
    So what is a better exercise            0     0     0      0    0.34 
    how many days hv to take syrup          0   0.95    0      0     0      
    Can I take this solution ?              0   0   0   0      0.23     
      

数据集非常庞大,大约有 10K 行是句子,5K 列是单词。 从这里我想创建一个新专栏,并为每个句子保留 tf-idf 值大于 0.6 的单词。 实现的代码是:

dataset = pd.read_csv(r'Desktop/tfidf_val.csv')

dataset.apply(lambda x: x.index[x.astype(bool)].tolist(), 1)

但我收到 Memory 错误。 知道如何解决这个问题或者代码是否有问题

我曾经遇到过这个问题,我的解决方案是更换:

df = pd.read_csv(r'filename.csv')

df = pd.read_csv(r'filename.csv',sep=';',low_memory=False)

编辑:由于您的列包含逗号并且文件以逗号分隔,因此您需要知道您有多少列。 当你这样做时,saty 是 M,添加这个:

n = M
df = pd.read_csv(r'filename.csv', 
                 usecols=range(M),
                 lineterminator='\n',       header=None,low_memory=False))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM