python - 如果单词在 Pandas 的特定列中,如何获取一 block 的次数?

标签 python python-3.x pandas

我将尝试用一个简单的例子来描述我的问题。

我有一个包含许多列的 csv 文件。此列的标题之一是“名称”。

在此列“名称”中,我只需要重复名称“约翰”的次数。

例如,我的“名称”列如下:

names
John
John M
Mike John
Audrey
Andrew

对于这种情况,我需要一个使用 pandas 的 python 脚本来获取 3 的值,因为单词“John”重复了 3 次。

这些是我正在使用的代码:

from_csv = pd.read_csv(r'csv.csv', usecols = ['names'] , index_col=0, header=0 )

times = from_csv.query('names == "John"').names.count()

但它只返回 1,因为只有一行只有 John。

我尝试过使用:

times = from_csv.query('names == "*John*"').names.count()

但没有成功。

对于这种特殊情况,如何获得 3?谢谢

最佳答案

使用 str.contains

df.Name.str.contains('John').sum()
Out[246]: 3

或者我们使用 listmapin

sum(list(map(lambda x : 'John' in x,df.Name)))
Out[248]: 3

关于python - 如果单词在 Pandas 的特定列中,如何获取一 block 的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50082095/

相关文章:

python - 如何在字段数太大之前读取csv

python - Tkinter GUI 在多处理/子处理时卡住

python - 如何在Python中访问另一个模块的成员

python - 反斜杠和转义字符的奇数或偶数

python - python中的循环依赖

python - 根据值是否为 null 创建一个 pandas 数据框列

Python:结构的所有元素都会随着一个人的变化而变化

python - IPython,每次关闭终端前都会提示

python - 获取索引错误: list assignment index out of range in python

python - 如何在目录中的所有 csvs 文件中执行 python 关键字搜索和单词计数器并写入单个 csv?