📅  最后修改于: 2023-12-03 15:37:25.514000             🧑  作者: Mango
当我们处理数据时,我们需要在 Pandas Dataframe 中选择数据的某些行。在 Pandas 中,我们有多种方法可以选择数据行。iloc[]
和 iat[]
是两种非常常见且有用的方法,我们可以使用它们从 Dataframe 中选择任何行。让我们一起看看这两种方法的用法和例子。
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[]
是 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 中选择任何行和列的方法。这两种方法能让我们灵活地选择相关的数据,让数据处理变得更高效。