python - 我如何计算每行中不同的特定字符的出现
问题描述
我想计算一个特定字符(在每一行中都不同)出现在数据框系列中的频率。示例数据框:
给定信 | 短语 |
---|---|
w | 什么什么什么 |
q | 女王蜂 |
d | 魔鬼驴 |
n | 呜呼 |
e | 傲慢的 |
期望的结果:
给定信 | 短语 | 频率 |
---|---|---|
w | 什么什么什么 | 3 |
q | 女王蜂 | 1 |
d | 魔鬼驴 | 2 |
n | 呜呼 | 0 |
e | 傲慢的 | 0 |
下面尝试的代码对于所有频率都返回为 0
df["frequency"] = df["phrase"].str.count(str(df["givenletter"]))
我试过挖掘类似的stackoverflow问题,但它们似乎都在处理计算一个不变的字符的出现。对于如何更正我的代码的任何建议,我将不胜感激。
解决方案
尝试
df['frequency'] = df.apply(lambda x:x['phrase'].count(x['givenletter']), axis=1)
推荐阅读
- linux - 从 nginx 日志文件中的 IP 地址获取顶级 url
- python - Heroku 似乎并不真正支持 Windows 上的 Python 和 Django
- sql-server - SQL 图像到水晶报表
- linux - 如何从 /etc/services 中提取所有服务?
- asp.net - 有条件地在 ASP.NET MVC 5 中渲染某些东西
- shopify - 从自定义页面将数据传递给 shopify 产品/购物车
- php - 字符串内的内联关闭/匿名函数?
- versionone - 使用 rest-1.v1 创建新缺陷时设置优先级
- python - 为什么有些网站不能抓取?
- android - Draggableview 编号 fornat 异常