📜  Python|熊猫 dataframe.filter()(1)

📅  最后修改于: 2023-12-03 15:04:26.646000             🧑  作者: Mango

Python | 熊猫 dataframe.filter()

数据框过滤是处理数据集时经常使用的操作之一。pandas.DataFrame.filter() 方法可以用于按规则选择数据帧的行或列。

语法
DataFrame.filter(items=None, like=None, regex=None, axis=None)

参数说明:

  • items:列表、元组、字典项。指定要保留的列标签。

  • like:字符串。选择标签中包含该字符串的列。

  • regex:字符串。选择与指定的正则表达式匹配的列。

  • axis:整数,{0或'index',1或'columns'},默认为列。指定要筛选的轴。

返回值

一个有所有已存在列的列内容的 DataFrame 或由筛选列组成的 DataFrame。

示例

通过下面的示例来演示 pandas.DataFrame.filter() 方法的使用:

import pandas as pd
 
# 创建样例 DataFrame
data = {'name': ['Leo', 'Andy', 'Emma'], 'sex': ['Male', 'Male', 'Female'],
        'age': [19, 20, 18], 'country': ['China', 'USA', 'UK']}
df = pd.DataFrame(data)
 
# 保留 name 和 age 列
df_filtered = df.filter(items=['name', 'age'])
print(df_filtered)
 
# 选择以 "c" 开头的列
df_filtered = df.filter(like='c')
print(df_filtered)
 
# 使用正则表达式匹配 "c...n" 列
df_filtered = df.filter(regex='c...n')
print(df_filtered)
输出结果:

   name  age
0   Leo   19
1  Andy   20
2  Emma   18
   country
0    China
1      USA
2       UK
     country
0    China
1      USA
2       UK

从上面的实例代码可以看出,filter() 方法非常灵活。根据具体使用场景,可以根据需要选择适当的参数进行使用。

注意,当选择行时,可以通过索引选择行。

# 选择索引为 1 的行
df_filtered = df.filter(like='1', axis=0)
print(df_filtered)
    name   sex  age country
1  Andy  Male   20     USA

以上是 dataframe.filter() 方法的介绍,希望能帮助到初学者。