print boolean正则表达式匹配的真实结果 - Pandas Dataframe

时间:2013-06-30 13:37:37

标签: python pandas dataframe

这可能是一个简单的问题,但无法弄清楚如何执行。我有一个包含以下列的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'结果。怎么做?

2 个答案:

答案 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的行,然后它只为您提供列:IPTime,{ {1}}。