Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.filter方法的使用。

DataFrame.filter(self, items=None, like=None, regex=None, axis=None)

根据指定索引中的标签对数据框的行或列进行子集设置。

请注意,此例程不会在其内容上过滤数据框。过滤器将应用于索引标签。

参数

items : 类似列表(list)

保持标签中轴的位置。

like : 字符串

保持标签远离类似于label == True的axis。

regex : 字符串(正则表达式)

保持标签远离re.search(regex,label)== True的axis。

axis : 整数或字符串axis名称

要过滤的轴。默认情况下,这是信息轴,‘index’用于Series

‘columns’用于DataFrame。

返回值

与输入对象相同的类型

Notes

items,like和regex参数执行相互排斥。

axis默认为使用[]建立索引时使用的信息轴。

例子

>>> df = pd.DataFrame(np.array(([1, 2, 3], [4, 5, 6])),
...                   index=['mouse', 'rabbit'],
...                   columns=['one', 'two', 'three'])
>>> # select columns by name
>>> df.filter(items=['one', 'three'])
         one  three
mouse     1      3
rabbit    4      6
>>> # select columns by regular expression
>>> df.filter(regex='e$', axis=1)
         one  three
mouse     1      3
rabbit    4      6
>>> # select rows containing 'bbi'
>>> df.filter(like='bbi', axis=0)
         one  two  three
rabbit    4    5      6