Pandas数据框架 - 查找字符串中的字符串出现次数

3
我有一个类似这样的数据框(但更长):
    Letter  Password
0   l       klfbblslvjclmlnqklvg
1   h       pghjchdxhnjhjd

如何统计密码中字母出现的次数?使第一行为6,第二行为4。

这个方法不可行,因为count需要正则表达式:

df['Occurrences'] = df['Password'].str.count(df['Letter']).astype(int)

那我该怎么做呢?

2个回答

2
在这种情况下,您可以使用apply
df['Occurrences'] = df.apply(lambda x: x['Password'].count(x['Letter']), axis=1)

输出:

  Letter              Password  Occurrences
0      l  klfbblslvjclmlnqklvg            6
1      h        pghjchdxhnjhjd            4

谢谢,这个很好用。我将来肯定会更多地使用apply函数! - JimboAsks

1
你可以这样做:

df['Occurrences'] = [pas.count(letter) for pas, letter in zip(df['Password'], df['Letter'])]
print(df)

输出

  Letter              Password  Occurrences
0      l  klfbblslvjclmlnqklvg            6
1      h        pghjchdxhnjhjd            4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接