Python 如何一次又一次删除包含相同字符串的行
我有一个如下所示的数据帧Python 如何一次又一次删除包含相同字符串的行,python,pandas,Python,Pandas,我有一个如下所示的数据帧 Name Mail-Body Oliver I am recently doing AAA, BBB and BBB.... Jack Here is my report. It seemed AAA was.. so AAA is.. Jacob
Name Mail-Body
Oliver I am recently doing AAA, BBB and BBB....
Jack Here is my report. It seemed AAA was.. so AAA is..
Jacob How are you doing? Next week we launch our AAA porject...
有了这个数据框架,我想进行一些数据分析。
但我发现包含诸如“AAA”和“BBB”等名称的电子邮件很多次都只是一个计划通知之类的东西,所以它几乎毫无意义。
所以我想在邮件正文列中删除所有包含相同字符串(如“AAA”和“BBB”)的行5次以上
是否有任何python方法删除所有行?示例:
print (df)
Name Mail-Body
0 Oliver I AAA BBB am recently doing AAA, BBB and BBB
1 Jack AAA AAA. AAA BBB It seemed AAA was.. so AAA is
2 Jacob AAA AAA BBB BBB AAA BBB AAA AAA BBB BBB BBB
3 Bal AAA BBB
如果要删除AAA
更像5次的行,则意味着需要筛选5
值小于AAA
的行,并且:
如果需要像AAA
或BBB
这样的过滤器,则每行的值相加多少AAA
和多少BBB
并不重要,请使用AAA | BBB
模式:
df1 = df[df['Mail-Body'].str.count('AAA|BBB').lt(5)]
print (df1)
Name Mail-Body
3 Bal AAA BBB
如果要分别测试AAA
和BBB
-按位|或
的链掩码,则意味着筛选AAA
的5个值或5个值B
:
df2 = df[df['Mail-Body'].str.count('AAA').lt(5) | df['Mail-Body'].str.count('BBB').lt(5)]
print (df2)
Name Mail-Body
0 Oliver I AAA BBB am recently doing AAA, BBB and BBB
1 Jack AAA AAA. AAA BBB It seemed AAA was.. so AAA is
3 Bal AAA BBB
如果要通过和对位和进行过滤,解决方案是:
df3 = df[df['Mail-Body'].str.count('AAA').lt(5) & df['Mail-Body'].str.count('BBB').lt(5)]
print (df3)
Name Mail-Body
0 Oliver I AAA BBB am recently doing AAA, BBB and BBB
3 Bal AAA BBB
这就是你想要的吗:?谢谢你的评论。但我想删除包含“同一特定短语超过5次”的行,因此它不一定只是“AAA”。我想删除五次以上包含“BBB”的行以及“CCC”之类的行。有没有办法在python中识别相同的字符串?@wannabeAIengineer-不100%确定需要如何过滤,所以答案是用所有解决方案编辑的,请检查。
df3 = df[df['Mail-Body'].str.count('AAA').lt(5) & df['Mail-Body'].str.count('BBB').lt(5)]
print (df3)
Name Mail-Body
0 Oliver I AAA BBB am recently doing AAA, BBB and BBB
3 Bal AAA BBB