2

这可能是一个简单的问题,但无法弄清楚如何执行。我有一个带有以下列的熊猫数据框。

df.columns = ['IP', 'Time', 'Method', 'Resource', 'Status', 'Bytes', 'Referrer', 'Agent']

我想对 df['Resource'] 列进行一些正则表达式匹配。我以流畅的方式做到了。

df.Resource.str.contains('pdf')

然后我只需要使用 df['IP']、df['Time'] 和 df['Resource'] 打印“True”结果。这个怎么做?

4

2 回答 2

2

我们必须使用 na=false 以便根据pandas-docs将缺失值视为 True 或 False 。这工作得很好。

print df[df.Resource.str.contains('pdf',na=False)][['IP', 'Time', 'Resource']][0:5]
于 2013-06-30T15:03:54.477 回答
0

如果我理解,这应该有效。

df[df.Resource.str.contains('pdf')][['IP', 'Time', 'Resource']]

基本上,它使用掩码将行限制df为仅返回的行True,然后只为您提供列:IP, Time, Resource

于 2013-06-30T14:21:43.230 回答