📅  最后修改于: 2023-12-03 15:33:24.855000             🧑  作者: Mango
Pandas 是一种非常流行的 Python 数据分析工具,它的核心数据结构是 DataFrame 和 Series,这两种数据结构可以帮助我们快速处理和分析数据。在 Pandas 中,我们可以用多种方式查询和操作 DataFrame,其中之一就是通过行索引来选取数据。
要选取 DataFrame 的一行,需要使用 .loc 或 .iloc 方法。这两个方法的区别在于,.loc 方法是基于标签(即行和列的名称),而 .iloc 方法是基于位置(即行和列的索引)。
下面是一个简单的示例:
import pandas as pd
# 创建一个 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 28, 32, 45, 21],
'country': ['USA', 'Canada', 'USA', 'Canada', 'USA']}
df = pd.DataFrame(data)
# 使用 .loc 方法选取第一行(行索引为 0)
row_0 = df.loc[0]
print(row_0)
# 使用 .iloc 方法选取第一行
row_0 = df.iloc[0]
print(row_0)
输出结果:
name Alice
age 25
country USA
Name: 0, dtype: object
name Alice
age 25
country USA
Name: 0, dtype: object
如果要选取 DataFrame 的多行,可以使用 .loc 或 .iloc 方法,并将行索引放在一个列表中。下面是一个示例:
import pandas as pd
# 创建一个 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 28, 32, 45, 21],
'country': ['USA', 'Canada', 'USA', 'Canada', 'USA']}
df = pd.DataFrame(data)
# 使用 .loc 方法选取第一行和第三行
rows_0_2 = df.loc[[0, 2]]
print(rows_0_2)
# 使用 .iloc 方法选取第一行和第三行
rows_0_2 = df.iloc[[0, 2]]
print(rows_0_2)
输出结果:
name age country
0 Alice 25 USA
2 Charlie 32 USA
name age country
0 Alice 25 USA
2 Charlie 32 USA
除了选取单个行以外,我们还可以选取 DataFrame 的行区间。要选取行区间,可以使用 .loc 或 .iloc 方法,并将起始行索引和终止行索引放在一个切片对象中。下面是一个示例:
import pandas as pd
# 创建一个 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'age': [25, 28, 32, 45, 21],
'country': ['USA', 'Canada', 'USA', 'Canada', 'USA']}
df = pd.DataFrame(data)
# 使用 .loc 方法选取第二行到第四行(包括第四行)
rows_1_3 = df.loc[1:3]
print(rows_1_3)
# 使用 .iloc 方法选取第二行到第四行(不包括第四行)
rows_1_3 = df.iloc[1:3]
print(rows_1_3)
输出结果:
name age country
1 Bob 28 Canada
2 Charlie 32 USA
name age country
1 Bob 28 Canada
2 Charlie 32 USA
Pandas 提供了多种选取 DataFrame 行的方式,可以根据不同的需求来选择最合适的方式。在实际应用中,需要根据数据的具体情况来选择不同的选择方式,以便更加高效地完成数据分析任务。