pandas.DataFrame.filter#
- DataFrame.filter(items=None, like=None, regex=None, axis=None)[source]#
- Subset the DataFrame or Series according to the specified index labels. - For DataFrame, filter rows or columns depending on - axisargument. Note that this routine does not filter based on content. The filter is applied to the labels of the index.- Parameters:
- itemslist-like
- Keep labels from axis which are in items. 
- likestr
- Keep labels from axis for which “like in label == True”. 
- regexstr (regular expression)
- Keep labels from axis for which re.search(regex, label) == True. 
- axis{0 or ‘index’, 1 or ‘columns’, None}, default None
- The axis to filter on, expressed either as an index (int) or axis name (str). By default this is the info axis, ‘columns’ for - DataFrame. For- Seriesthis parameter is unused and defaults to- None.
 
- Returns:
- Same type as caller
- The filtered subset of the DataFrame or Series. 
 
 - See also - DataFrame.loc
- Access a group of rows and columns by label(s) or a boolean array. 
 - Notes - The - items,- like, and- regexparameters are enforced to be mutually exclusive.- axisdefaults to the info axis that is used when indexing with- [].- Examples - >>> 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