pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

  • Post category:Python

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官方文档中的详细说明来进行选择。