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中检索数据。
