logo

Python 数据筛选教程与实例

本站 7666
在数据分析和处理中,数据预处理是至关重要的一步。其中的数据筛选作为基础且实用的功能,在 Python 中有着丰富而强大的实现手段。本文将深入探讨并举例演示如何利用 Pandas 库进行高效、灵活的 Python 数据筛选操作。

首先,Pandas 是一个广泛应用于金融、统计分析等领域的强大库,其内建了 DataFrame 结构用于存储表格型数据,并提供了多种便捷的方法来进行数据过滤与选择。

1. **基于条件的选择**:
对于DataFrame对象而言,可以使用布尔索引来按照特定条件对行或列进行筛选。例如:

python

import pandas as pd

# 创建示例 dataframe
df = pd.DataFrame({
'Name': ['Tom', 'Nick', 'John', 'Mike'],
'Age' : [20, 21, 19, 18],
'City': ['New York', 'London', 'Beijing', 'Tokyo']
})

# 筛选出年龄大于等于20岁的记录
filtered_df = df[df['Age'] >= 20]


此代码段会返回一个新的仅包含“Age”字段值为20岁及以上的所有用户信息的Dataframe。

2. **多条件筛选:**
对于更复杂的情况,我们可以结合多个条件来筛选数据:

python

# 条件一:年龄超过20岁;条件二:居住在北京或者伦敦
complex_filter = (df['Age'] > 23) & ((df['City']=='London') | (df['City']=="Beijing"))
selected_data = df[complex_filter]

print(selected_data)


这里我们运用了逻辑运算符 `&`(按位与) 和 `|` (按位或),实现了复合条件下的精确筛选。

3. **定位性筛选**:
除了通过数值比较设置条件外,还可以直接依据标签名选取指定行列:

python

specific_row = df.loc[['Tom','Nick'], :]
print(specific_row)

specific_column = df.iloc[:, 1] # 这里选择了第2个列(注意Python从0开始计数),即"Age"
print(specific_column)

以上分别展示了 loc 方法用来根据名称获取行以及 iloc 方法用整数位置索引提取某一列的操作方法。

4. **isin()函数应用**:
当需要查找某列表中的元素时,可借助 isin 函数完成批量匹配查询:

python

cities_of_interest = ["London", "Tokyo"]
city_filtered_df = df[df["City"].isin(cities_of_interest)]

这段代码将会找出城市位于 cities_of_interest 列表内的所有人。

综上所述,通过对Pandas提供的各种工具和技术的学习实践,无论是简单还是复杂的场景下,都能轻松地实现在海量数据集上的精准筛选需求。掌握这些核心技巧无疑能极大地提升我们的工作效率,使得数据清洗工作更为得心应手。同时需要注意的是,实际业务场景千变万化,理解原理后还需针对具体问题采取最佳策略以达到最优效果。

标签: python数据筛选