DataFrame.filter
DataFrame.filter(items=None, like=None, regex=None, axis=None)
根据指定的索引标签取得DataFrame的行或列的子集。
过滤器应用于索引标签,但不会应用于DataFrame中的数据。
Parameters
| items | 要保留的标签 |
|---|---|
| like | 以like方式保留标签 |
| regex | 以regex方式保留标签 |
| axis | 0 or index:筛选行,1 or columns:筛选列 |
Example
import pandas as pddf = pd.DataFrame({'site':['google', 'baidu', 'wiki'],'age':[18, 39, 22],'price': [1.0, 2.0, 3.0],'color': ['red', 'black', None]},index=['first','second','third'])df.filter(items=['site', 'age'])-----------------------------------------------site agefirst google 18second baidu 39third wiki 22
Example
import pandas as pddf = pd.DataFrame({'site':['google', 'baidu', 'wiki'],'age':[18, 39, 22],'price': [1.0, 2.0, 3.0],'color': ['red', 'black', None]},index=['first','second','third'])df.filter(items=['first', 'second'], axis=0)-------------------------------------------------------site age price colorfirst google 18 1.0 redsecond baidu 39 2.0 black
Example
import pandas as pddf = pd.DataFrame({'site':['google', 'baidu', 'wiki'],'age':[18, 39, 22],'price': [1.0, 2.0, 3.0],'color': ['red', 'black', None]},index=['first','second','third'])df.filter(regex='e$', axis=1)--------------------------------------------------------site age pricefirst google 18 1.0second baidu 39 2.0third wiki 22 3.0
Example
import pandas as pddf = pd.DataFrame({'site':['google', 'baidu', 'wiki'],'age':[18, 39, 22],'price': [1.0, 2.0, 3.0],'color': ['red', 'black', None]},index=['first','second','third'])df.filter(like='on', axis=0)-------------------------------------------site age price colorsecond baidu 39 2.0 black
DataFrameGroupBy.filter
DataFrameGroupBy.filter(func, dropna=True, *args, kwargs)**
返回DataFrame的副本,不包括过滤后的元素。
如果组中的元素不满足func指定的布尔标准,则过滤它们。
Parameters
| func | 函数应用于每个子帧,应该返回True或False |
|---|---|
| dropna | False:用nan填充 |
import pandas as pddf = pd.DataFrame({'site':['google', 'baidu', 'wiki'],'age':[18, 39, 22],'price': [1.0, 2.0, 3.0],'color': ['red', 'black', None]},index=['first','second','third'])df.groupby('color').filter(lambda x: x['age'].mean() > 30)---------------------------------------------------------site age price colorsecond baidu 39 2.0 black
