下面就是一份Python使用Pandas实现筛选功能的攻略:
Pandas是一个开源的数据分析工具包,支持数据预处理、数据重组、数据分析、数据可视化、数据挖掘等一系列数据分析相关的操作。在数据分析领域,Pandas的应用非常广泛。同时,Pandas也支持读取和处理多种格式的数据,包括CSV、Excel、SQL等文件格式。
当我们需要筛选出 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
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
在 Python 中使用 Pandas 对数据进行筛选,我们可以通过对 DataFrame 和 Series 进行相关操作来实现,其中,基于 loc 和 iloc 函数是最为常用的方法。只要理解了这些基本的概念和使用方法,我们就可以快速、便捷、准确地筛选出特定的数据。
本文链接:http://task.lmcjl.com/news/17319.html