Skip to main content
 首页 » 编程设计

python之这两种计算文本列中两个单词出现次数的方法有什么区别

2024年11月24日4leader

我是 pandas 的新手,我现在正在 Kaggle 上学习它。

这是一个练习,要求在 description 列中找出两个词的出现次数

我从 StackOverflow 找到了第一个陈述,但第二个是正确答案。造成这种不同结果的原因是什么?

1。从 StackOverflow 找到

tropical = reviews.description.str.count("tropical").sum() 
fruity = reviews.description.str.count("fruity").sum() 
descriptor_counts = pd.Series([tropical,fruity]) 

`

2。正确答案

tropical = reviews.description.map(lambda desc: 'tropical' in desc).sum() 
fruity = reviews.description.map(lambda desc: 'fruity' in desc).sum() 
descriptor_counts = pd.Series([tropical, fruity],index=['tropical','fruity']) 

第一个结果是[3703, 9259] 第二个结果是[3607, 9090]

更新!原来的问题是: 创建一个 Series descriptor_counts 来计算这两个词在数据集中的描述列中出现的次数。

请您参考如下方法:

第一个较少,因为它只获取'tropical''fruity' 的值。

所以:

>>> s='a' 
>>> s=='a' 
True 

但是第二个是获取包含 'tropical''fruity' 的值,所以上面:

>>> s='ab' 
>>> s=='a' 
False 

确实如此:

>>> s='ab' 
>>> 'a' in s 
True