📅  最后修改于: 2023-12-03 14:46:31.059000             🧑  作者: Mango
Pandas是Python中用于数据操作和分析的重要库。其中,Pandas系列中的filter函数可以让我们过滤DataFrame中的数据,只保留符合特定条件的行或列。
Pandas的filter()函数有许多用法,我们挑选其中几种最常用的进行介绍。
df.filter(items=['列1', '列2'])
这个用法根据列名过滤DataFrame,只保留选定的列。
df.filter(axis=0, items=['行1', '行2'])
这个用法根据行索引过滤DataFrame,只保留选定的行。
df.filter(regex='正则表达式')
这个用法根据正则表达式过滤DataFrame,只保留符合特定匹配模式的列名或行索引。
def my_filter(x):
return True if x[0] == 'A' else False
df.filter(items=filter(my_filter, df.columns))
我们可以使用自定义函数作为fiter()的参数,用自己的过滤规则进行过滤。这里的my_filter函数过滤出以A开头的列。
import pandas as pd
df = pd.read_csv('students.csv', index_col=0)
## 根据列名过滤
df1 = df.filter(items=['姓名', '性别'])
## 根据行索引过滤
df2 = df.filter(axis=0, items=[1, 2])
## 根据正则表达式过滤
df3 = df.filter(regex='数学')
## 使用自定义过滤函数过滤
def my_filter(x):
return True if x[0] == '语文' or x[0] == '数学' else False
df4 = df.filter(items=filter(my_filter, df.columns))
以上便是介绍Pandas中filter()函数的几个用法和示例。它极大地方便了我们对数据的处理。