📜  Python|熊猫系列.filter()(1)

📅  最后修改于: 2023-12-03 14:46:31.059000             🧑  作者: Mango

Python Pandas系列 - filter()

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()函数的几个用法和示例。它极大地方便了我们对数据的处理。