pandas.DataFrame.filter#
- DataFrame.filter(items=None, like=None, regex=None, axis=None)[源代码]#
根据指定的索引标签对 DataFrame 或 Series 进行子集化。
对于 DataFrame,根据
axis
参数过滤行或列。请注意,此例程不根据内容进行过滤。过滤器应用于索引的标签。- 参数:
- 项目list-like
保留在项目中的轴标签。
- 像str
保留轴标签,其中“like in label == True”。
- 正则表达式str (正则表达式)
保留那些 re.search(regex, label) == True 的轴标签。
- 轴{0 或 ‘index’, 1 或 ‘columns’, None}, 默认 None
要过滤的轴,可以表示为索引(int)或轴名称(str)。默认情况下,这是信息轴,对于
DataFrame
是 ‘columns’。对于Series
,此参数未使用且默认为None
。
- 返回:
- 与调用者类型相同
DataFrame 或 Series 的过滤子集。
参见
DataFrame.loc
通过标签或布尔数组访问一组行和列。
备注
items
、like
和regex
参数被强制为互斥的。axis
默认为在使用[]
进行索引时使用的信息轴。示例
>>> df = pd.DataFrame( ... np.array(([1, 2, 3], [4, 5, 6])), ... index=["mouse", "rabbit"], ... columns=["one", "two", "three"], ... ) >>> df one two three mouse 1 2 3 rabbit 4 5 6
>>> # 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