pandas.DataFrame.filter — pandas 3.0.0.dev0+2097.gcdc5b7418e documentation (original) (raw)
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 axis
argument. 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’ forDataFrame
. For Series
this parameter is unused and defaults toNone
.
Returns:
Same type as caller
The filtered subset of the DataFrame or Series.
See also
Access a group of rows and columns by label(s) or a boolean array.
Notes
The items
, like
, and regex
parameters are enforced to be mutually exclusive.
axis
defaults 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