我有一个很大的数据框,我需要排除一些包含对我来说令人困惑的值的行。
我想到了一个嵌套在像这样的 for 循环中的 if 语句
for x in range (6655):
test = pseudoF2['Match'][x]
if test[:2].lower() == 'ab':
pseudoF2.drop(test, inplace=True)
问题是我不断收到“未在轴中找到”的关键错误
只是有一个想法,我的数据框是这样的:
Word Match Value1 Value2
1 Ab-art Un-ans 1.95 0.15
2 Ab-art An-ans 1.95 0.15
3 Ab-art Um-ans 1.90 0.10
4 Ab-art Tu-ort 2.15 0.35
5 Ab-drift An-klift 2.90 0.25
(...)
感谢您的帮助。
答案 0 :(得分:2)
您可以尝试regular expression
检查ab
列中是否有Match
,然后您可以删除那些indices
Jezreal 建议更优雅的解决方案
df[~df['Match'].str.contains(r'(?i)^ab')]
旧解决方案
df.drop(df[df['Match'].str.contains(r'(?i)^ab')].index, inplace=True)