📜  在 Pandas 中使用 iloc[] 和 iat[] 从 Dataframe 中选择任何行(1)

📅  最后修改于: 2023-12-03 15:37:25.514000             🧑  作者: Mango

在 Pandas 中使用 iloc[] 和 iat[] 从 Dataframe 中选择任何行

当我们处理数据时,我们需要在 Pandas Dataframe 中选择数据的某些行。在 Pandas 中,我们有多种方法可以选择数据行。iloc[]iat[] 是两种非常常见且有用的方法,我们可以使用它们从 Dataframe 中选择任何行。让我们一起看看这两种方法的用法和例子。

使用 iloc[]

iloc[] 是 Pandas 中很常用的索引方法,它基于行 number 和 column number 来选择 Dataframe 中的数据。

选取任何行

以下是如何使用 iloc[] 来选取任何行的示例:

import pandas as pd

df = pd.read_csv('data.csv')

# 通过 row number 选取单行
row = df.iloc[0]
print(row)

# 通过 row number 选取多行
rows = df.iloc[[0,1,2]]
print(rows)

# 通过 slice 选取行
rows = df.iloc[0:5]
print(rows)
选取任何行和列

除了选取行之外,我们还可以使用 iloc[] 来选取任何行和列的组合。以下是使用 iloc[] 做到这一点的示例:

import pandas as pd

df = pd.read_csv('data.csv')

# 选取单个单元格
cell = df.iloc[0, 0]
print(cell)

# 选取单个元素的某一列
cell = df.iloc[0]['column_name']
print(cell)

# 选取任意多行的任意多列
df_subset = df.iloc[[0,2,4], [1,3,5]]
print(df_subset)
使用 iat[]

iat[] 是 Pandas 中比较快的索引方法。与 iloc[] 不同,iat[] 使用 integer-based 来选择单个单元格。

以下是如何使用 iat[] 来选取任何行和列的示例:

import pandas as pd

df = pd.read_csv('data.csv')

# 选取单个单元格
cell = df.iat[0,0]
print(cell)

# 选取任何多行的任何一个元素
cell = df.iat[1,2]
print(cell)

虽然 iat() 比 iloc[] 更快,但如果您需要选取多行或多列,则使用 iloc() 会更加方便。

这就是使用 iloc[] 和 iat[] 从 Pandas Dataframe 中选择任何行和列的方法。这两种方法能让我们灵活地选择相关的数据,让数据处理变得更高效。