熊猫-数据框字符串值计数

时间:2019-02-12 19:02:22

标签: python-3.x pandas

我需要知道一个字符串在数据框中出现多少次,我使用了以下句子:

print(df['Mobile Register' == df.col1].shape[0])

但是我的问题是,我需要找到所有包含移动寄存器的寄存器,因为在我的数据框中,此字符串可以是移动寄存器 1 ,移动寄存器 2 ,移动注册 3 ,移动注册 n ...

所以我知道我的命令将不会被使用,因此,要查找计数需要做什么?

2 个答案:

答案 0 :(得分:1)

使用series.str.contains()

df.loc[df['col_name'].str.contains('Mobile Register',na=False)]

这将为您提供所有满足条件的行。

要查找满足此条件的特定列的计数,请使用:

df.loc[df['col_name'].str.contains('Mobile Register',na=False),'column_name'].count()

如果需要计算满足此条件的所有列 n:

df.loc[df['col_name'].str.contains('Mobile Register',na=False)].count()

答案 1 :(得分:0)

我不知道这可能是有帮助的,还是最好的解决方案,但是我发现了我想要的跟在后面的句子

names = df.col1.tolist()
count=0
for colname in enumerate(names):
    print(colname[1])
    if ('Mobile Register' in str(colname[1])):
        count=count+1