通过列值过滤Pandas DataFrame的方法

  • Post category:Python

列值过滤是 Pandas DataFrame 中常用的数据处理操作之一,通过筛选 Dataframe 中指定列与指定属性达到数据筛选的目的。

以下为列值过滤的详细攻略:

1. 读取数据

首先需要使用 Pandas 中的 read_csv() 函数或者其他读取数据的函数将数据读取进来作为 DataFrame 对象。

例如:

import pandas as pd

df = pd.read_csv('data.csv')

2. 列值过滤

有多种方法可以对 DataFrame 进行列值过滤,以下是常用的两种方法:

2.1. 使用布尔表达式过滤

可以使用布尔表达式,并将它们应用到 DataFrame 列上。这将返回一个布尔数组或一列布尔值,该数组或列标识符合条件(True)或不符合条件(False)的行。

例如我们有一份包含“性别”一列的数据,现在需要筛选出所有性别为女的行,可以使用如下代码:

female_rows = df[df['性别'] == '女']

以上代码中,df['性别'] == '女' 返回了一个布尔表达式,筛选出所有性别为女的行后,将结果保存在 female_rows 变量中。

2.2. 使用 isin() 方法

可以使用 isin() 方法来匹配列表中的多个值,该方法返回一个布尔数组,符合列表中任一元素的行将被包括在结果中。

例如我们有一份包含“国家”一列的数据,现在需要筛选出中国、美国、英国三个国家的数据,可以使用如下代码:

countries = ['中国', '美国', '英国']
selected_rows = df[df['国家'].isin(countries)]

以上代码中,df['国家'].isin(countries) 返回一个布尔表达式,筛选出所有在 countries 列表中出现的行。筛选结果存储在 selected_rows 变量中。

3. 过滤结果和导出

通过上述方法之一筛选出数据后,可以使用 to_csv() 方法将结果保存为 CSV 格式以进一步进行分析或导出数据。

例如:

selected_rows.to_csv('selected.csv', index=False, encoding='utf-8')

以上代码将筛选出来的结果以 CSV 格式保存到名为 ‘selected.csv’ 的文件中,同时指定了编码为 utf-8,并且索引值将不会出现在文件中。

以上便是通过列值过滤 Pandas DataFrame 的详细攻略。