python - 这两种计算文本列中两个单词出现次数的方法有什么区别?
问题描述
我是 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]
更新!最初的问题是:创建一个系列descriptor_counts,计算这两个单词中的每一个出现在数据集的描述列中的次数。
解决方案
第一个较少,因为它只获取or的 值。'tropical'
'fruity'
所以:
>>> s='a'
>>> s=='a'
True
但是第二个是获取包含 'tropical'
or的值'fruity'
,所以上面是:
>>> s='ab'
>>> s=='a'
False
所以它:
>>> s='ab'
>>> 'a' in s
True
推荐阅读
- xml - 来自嵌入式 for-each-group 的父 for-each-group 中的 XSL 2.0 参考值
- reactjs - React Native 应用程序图像未出现在 Chrome 浏览器和 GitHub 链接与设备上的网络图像
- docker - JFrog Training:jfrog-artifactory-training 容器始终运行
- visual-studio - MS Office 恢复后的 VB.NET 缺少参考 (Microsoft.Office.Interop)
- r - 用给定的 y 轴绘制 geom_density 图
- css - CSS - 为按钮添加边距,但仅在使用两个按钮时
- pine-script - 如何以与 Ninatrader 相同的方式在 Tradingview 中绘制我的历史交易/执行?
- arrays - 循环和组合 Swift 结构数组?
- cordova - 科尔多瓦 admob 插件 - 缺少模块
- ios - 当 -com.apple.CoreData.ConcurrencyDebug 1 处于活动状态时,此上下文中的类型查找不明确