Pandas如何通过索引值从DataFrame中检索行

在本文中,我们将探讨如何使用Pandas从DataFrame中检索行,以及如何根据索引值进行检索。

阅读更多:Pandas 教程

使用iloc方法通过索引值检索行

Pandas的iloc方法允许您使用整数位置来检索行。以下是一个例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],

'age': [20, 21, 22, 23, 24],

'hometown': ['New York', 'London', 'Paris', 'Tokyo', 'Beijing']}

df = pd.DataFrame(data)

# 通过整数索引检索第一行

print(df.iloc[0])

输出:

name Alice

age 20

hometown New York

Name: 0, dtype: object

使用loc方法通过索引检索行

Pandas的loc方法允许您使用标签/索引名称来检索行。以下是一个例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],

'age': [20, 21, 22, 23, 24],

'hometown': ['New York', 'London', 'Paris', 'Tokyo', 'Beijing']}

df = pd.DataFrame(data)

df = df.set_index('name')

# 通过索引名称检索'Alice'行

print(df.loc['Alice'])

输出:

age 20

hometown New York

Name: Alice, dtype: object

使用iloc方法检索多行

Pandas的iloc方法还可以用于检索多行。以下是一个例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],

'age': [20, 21, 22, 23, 24],

'hometown': ['New York', 'London', 'Paris', 'Tokyo', 'Beijing']}

df = pd.DataFrame(data)

# 通过整数索引检索第一行和第三行

print(df.iloc[[0,2]])

输出:

name age hometown

0 Alice 20 New York

2 Charlie 22 Paris

使用loc方法检索多行

要使用Pandas的loc检索多行,可以使用切片符号[:]

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],

'age': [20, 21, 22, 23, 24],

'hometown': ['New York', 'London', 'Paris', 'Tokyo', 'Beijing']}

df = pd.DataFrame(data)

df = df.set_index('name')

# 检索前3行

print(df[:3])

输出:

age hometown

name

Alice 20 New York

Bob 21 London

Charlie 22 Paris

使用ix方法检索行

ix方法是一种混合检索方法,可以接受名称或整数作为行/列索引。它已经被弃用,请使用loc或iloc方法代替。以下是一个例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Ella'],

'age': [20, 21, 22, 23, 24],

'hometown': ['New York', 'London', 'Paris', 'Tokyo', 'Beijing']}

df = pd.DataFrame(data)

df = df.set_index('name')

# 按行索引和列索引检索单元格

print(df.ix['Bob', 'age'])

输出:

21

总结

在本文中,我们学习了如何使用Pandas从DataFrame中按索引值检索行。我们了解到:

– 使用iloc方法通过整数位置来检索行;

– 使用loc方法通过标签/索引名称来检索行;

– 使用ix方法进行混合检索(已经被弃用)。

尽管ix方法已经被弃用,还是应该使用loc或iloc方法进行检索,以确保代码的正确性和可读性。 通过在示例中展示和解释每种检索方法的使用,我们希望您现在能够更有信心地使用Pandas从DataFrame中检索数据。