Pandas是Python的一种开源数据分析库,提供了一系列的数据操作工具。在Pandas中,我们可以使用多种方法来选择DataFrame或Series中的数据,包括索引、标签或条件筛选等。这篇文章将详细介绍Pandas中数据选取的各种方式。
1. df[]
Pandas中最基本也最常用的数据选取方式是使用[]
操作符,可以实现基于列名或布尔数组的选取。例如,我们有一个包含“name”和“age”列的DataFrame。
import pandas as pd
data = {'name': ['John', 'Mike', 'Sarah'], 'age': [28, 23, 35]}
df = pd.DataFrame(data)
我们可以使用列名选取数据:
df['name'] #选取'name'列
也可以通过布尔数组选取数据:
df[df['age'] > 25] #选取'age'列值大于25的数据行
这种方式还支持同时选取多列数据或使用切片操作。
2. df.loc[]
loc
方式可以实现基于标签的数据选取。例如,使用前面的数据,我们可以通过loc
选取第一行数据:
df.loc[0] #选取第一行数据
也可以使用标签选取单个或多个指定的数据,例如:
df.loc[0, 'name'] #选取第一行'name'列数据
df.loc[1:2, 'name':'age'] #选取第2-3行'name'-'age'列的数据
3. df.iloc[]
iloc
方式可以实现基于位置的数据选取。例如,使用前面的数据,我们可以通过iloc
选取第一行数据:
df.iloc[0] #选取第一行数据
也可以使用位置选取单个或多个指定的数据,例如:
df.iloc[0, 0] #选取第一行第一列数据
df.iloc[1:3, :2] #选取第2-3行第1-2列的数据
4. df.at[]
at
方式可以实现基于标签的快速数据选取,速度比使用loc
更快。例如:
df.at[0, 'name'] #选取第一行'name'列数据
5. df.iat[]
iat
方式可以实现基于位置的快速数据选取,速度比使用iloc
更快。例如:
df.iat[0, 0] #选取第一行第一列数据
6. df.ix[]
ix
方式可以实现既可以基于标签又可以基于位置选取数据,但在最新的版本中已经被弃用,建议不再使用。
综上所述,选择使用哪种数据选取方式要根据具体情况而定,可以参考Pandas官方文档中的详细说明来进行选择。