列值过滤是 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 的详细攻略。