Python Pandas dataframe.filter()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas dataframe.filter()函数用于根据指定索引中的标签对数据框架的行或列进行子集。注意,这个程序不会对数据框架的内容进行过滤。该过滤器被应用于索引的标签。
语法: DataFrame.filter(items=None, like=None, regex=None, axis=None)
参数:
items :要限制的信息axis的列表(必须不全部存在)。
like:保留信息axis,其中 “col中的arg == True”
regex :保留信息axis与re.search(regex, col) == True
axis :要过滤的axis。默认情况下,这是信息axis,”索引 “用于系列,”列 “用于数据框架。
返回:与输入对象的类型相同
items、like和regex参数被强制要求相互排斥。 axis默认为信息axis,在用[]进行索引时使用。
示例#1:使用filter()函数过滤掉数据帧的任何三列。
# importing pandas as pd
import pandas as pd
# Creating the dataframe
df = pd.read_csv("nba.csv")
# Print the dataframe
df

现在过滤 “姓名”、”学院 “和 “工资 “列。
# applying filter function
df.filter(["Name", "College", "Salary"])
输出 :

示例2:使用filter()函数对数据框架中名称中含有字母 “a “或 “A “的所有列进行子集。
注意: filter()函数也需要一个正则表达式作为它的参数之一。
# importing pandas as pd
import pandas as pd
# Creating the dataframe
df = pd.read_csv("nba.csv")
# Using regular expression to extract all
# columns which has letter 'a' or 'A' in its name.
df.filter(regex ='[aA]')
输出 :

正则表达式'[aA]’寻找所有名称中带有’a’或’A’的列名。
极客教程