在Pandas中,使用iloc[]
和iat[]
可以从数据框架中选择任何行。iloc[]
用于基于行和列的位置从数据框架中选择元素,而iat[]
用于将行和列的位置更加快速地选择为单个元素。
iloc[]
iloc[]
使用基于行和列位置来选择数据,语法结构如下:
df.iloc[<row selection>, <column selection>]
其中<row selection>
和<column selection>
指的是选定的行和列。可以使用整数从0开始的位置索引来选择行和列。例如,要选择第2行和第3列中的元素:
df.iloc[1, 2]
iloc[]
还可以使用切片语法,选取从开始到结束的连续行和列。例如,要选择前3行和前2列中的所有元素:
df.iloc[0:3, 0:2]
同时,也可以使用列表语法,选取一组不连续的行和列。例如,要选择第1行、第3行和第5行中的所有元素,以及第2和第4列中的所有元素:
df.iloc[[0, 2, 4], [1, 3]]
iat[]
iat[]
用于选取单个元素,它的速度要比iloc[]
更快。语法结构如下:
df.iat[<row position>, <column position>]
其中<row position>
和<column position>
是选定的行和列的位置。
例如,要选择位于第2行和第3列的元素:
df.iat[1, 2]
请注意,iat[]
只能选择单个元素,不能选择行或列。
示例代码:
import pandas as pd
data = {'name': ['Jack', 'Tom', 'Mark', 'Amy', 'Ming'],
'age': [26, 24, 23, 25, 27],
'gender': ['M', 'M', 'M', 'F', 'M'],
'salary': [6000, 5000, 4500, 5500, 7000]}
df = pd.DataFrame(data)
print(df.iloc[1, 2]) # 选择第2行和第3列元素
print(df.iloc[0:3, 0:2]) # 选择前3行和前2列元素
print(df.iloc[[0, 2, 4], [1, 3]]) # 选择第1、3、5行和第2、4列元素
print(df.iat[1, 2]) # 选择第2行和第3列元素
输出为:
M
name age
0 Jack 26
1 Tom 24
2 Mark 23
age salary
0 26 6000
2 23 4500
4 27 7000
M