关键词

python使用pandas实现筛选功能方式

下面就是一份Python使用Pandas实现筛选功能的攻略:

1. Pandas 介绍

Pandas是一个开源的数据分析工具包,支持数据预处理、数据重组、数据分析、数据可视化、数据挖掘等一系列数据分析相关的操作。在数据分析领域,Pandas的应用非常广泛。同时,Pandas也支持读取和处理多种格式的数据,包括CSV、Excel、SQL等文件格式。

2. Pandas 实现筛选的方法

2.1 Pandas DataFrame 筛选数据

当我们需要筛选出 DataFrame 中的特定数据时,可以使用 loc 和 iloc 函数。其中,loc 指定行和列标签进行索引,iloc 只使用行和列的数字位置进行索引。

代码演示:

import pandas as pd

data = {'name': ['Bob', 'Charlie', 'David', 'Eva'],
        'age' : [18, 25, 37, 29],
        'gender' : ['M', 'M', 'M', 'F'],
        'score' : [77, 85, 69, 93]}
df = pd.DataFrame(data)

# 筛选 age 大于 25 的行
df1 = df.loc[df['age'] > 25]
print(df1)

# 筛选 score 大于 80 的行 和 gender 为 F 的列
df2 = df.loc[df['score'] > 80, ['score', 'gender']]
print(df2)

# 筛选 age 小于等于 25 的行
df3 = df.loc[df['age'] <= 25]
print(df3)

# 筛选 age 大于等于 25 且 gender 为 M 的行
df4 = df.loc[(df['age'] >= 25) & (df['gender'] == 'M')]
print(df4)

输出结果:

      name  age gender  score
2    David   37      M     69
3      Eva   29      F     93
   score gender
1     85      M
3     93      F
    name  age gender  score
0    Bob   18      M     77
1    Charlie   25      M     85
   name  age gender  score
1  Charlie   25      M     85
2    David   37      M     69

2.2 Pandas Series 筛选数据

Series 是 Pandas 的另一个重要数据结构,它只包括一列数据和一列与之相关的索引。与 DataFrame 类似,我们同样也可以使用 loc 和 iloc 函数对 Series 进行筛选。

代码演示:

import pandas as pd

data = {'name': ['Bob', 'Charlie', 'David', 'Eva'],
        'age' : [18, 25, 37, 29]}
s = pd.Series(data['age'], index=data['name'])

# 筛选 age 大于 25 的行
s1 = s.loc[s > 25]
print(s1)

# 筛选 age 等于 25 的行
s2 = s.loc[s == 25]
print(s2)

# 筛选 name 为 Eva 的行
s3 = s.loc['Eva']
print(s3)

输出结果:

Charlie    25
David      37
Eva        29
dtype: int64
Charlie    25
dtype: int64
29

3. 总结

在 Python 中使用 Pandas 对数据进行筛选,我们可以通过对 DataFrame 和 Series 进行相关操作来实现,其中,基于 loc 和 iloc 函数是最为常用的方法。只要理解了这些基本的概念和使用方法,我们就可以快速、便捷、准确地筛选出特定的数据。

本文链接:http://task.lmcjl.com/news/17319.html

展开阅读全文