这可能是一个简单的问题,但无法弄清楚如何执行。我有一个包含以下列的pandas数据框。
df.columns = ['IP', 'Time', 'Method', 'Resource', 'Status', 'Bytes', 'Referrer', 'Agent']
我想与df ['Resource']列进行一些正则表达式匹配。我是以流动的方式做到的。
df.Resource.str.contains('pdf')
然后我需要用df ['IP'],df ['Time']和df ['Resource']打印'True'结果。怎么做?
答案 0 :(得分:2)
我们必须使用na = false,因此根据pandas-docs,可以将缺失值视为True或False。这很好。
print df[df.Resource.str.contains('pdf',na=False)][['IP', 'Time', 'Resource']][0:5]
答案 1 :(得分:0)
如果我理解,这应该有用。
df[df.Resource.str.contains('pdf')][['IP', 'Time', 'Resource']]
基本上,它使用掩码将df
中的行限制为仅返回True
的行,然后它只为您提供列:IP
,Time
,{ {1}}。