我已经在Python中将一个简单的查询日志导入到pandas数据框中(参见图片),并且想知道提取包含“关键字”中包含的任何给定关键字的所有行的最有效方法是什么'专栏。
我可以遍历数据框 - 但感觉可能有更快的方式使用数组/掩码。
非常感谢任何帮助。
答案 0 :(得分:4)
您可以使用str.contains
,例如:
In [1]: df = pd.DataFrame([['abc', 1], ['cde', 2], ['efg', 3]])
In [2]: df
Out[2]:
0 1
0 abc 1
1 cde 2
2 efg 3
In [3]: df[0].str.contains('c')
Out[3]:
0 True
1 True
2 False
Name: 0, dtype: bool
In [4]: df[df[0].str.contains('c')]
Out[4]:
0 1
0 abc 1
1 cde 2
答案 1 :(得分:3)
[3]: df = DataFrame(dict(A = ['foo','bar','bah','bad','bar'],B = range(5)))
In [4]: df
Out[4]:
A B
0 foo 0
1 bar 1
2 bah 2
3 bad 3
4 bar 4
In [5]: select = Series(['bar','bah'])
In [6]: df[df.A.isin(select)]
Out[6]:
A B
1 bar 1
2 bah 2
4 bar 4