我是 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