df = pd.DataFrame({'A':list('abcdef'),
'B':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')}, index=range(10, 16))
print (df)
A B C D E F
10 a 4 7 1 5 a
11 b 5 8 3 3 a
12 c 4 9 5 6 a
13 d 5 4 7 9 b
14 e 5 2 1 2 b
15 f 4 3 0 4 b
选择3行和0列,所有列:
print (df.iloc[[3,0]])
#same as
#print (df.iloc[[3,0], :])
A B C D E F
13 d 5 4 7 9 b
10 a 4 7 1 5 a
选择所有行,3列和0列:
print (df.iloc[:, [3,0]])
D A
10 1 a
11 3 b
12 5 c
13 7 d
14 1 e
15 0 f
选择第3行和第0列 - 嵌套列表创建一个项目系列。
print (df.iloc[[3],[0]])
A
13 d
与上面相同,只是没有嵌套列表获取标量:
print (df.iloc[3,0])
d
另外一个选择:
选择第3行和第0行,第0列 - 第二个[]
创建一个包含一列的DataFrame
:
print (df.iloc[[3, 0],[0]])
A
13 d
10 a
如果省略它,将得到Series
:
print (df.iloc[[3, 0], 0])
13 d
10 a
Name: A, dtype: object
如果要选择一行和多列:
print (df.iloc[[0], [3, 0]])
D A
10 1 a
print (df.iloc[0, [3, 0]])
D 1
A a
Name: 10, dtype: object
最后是选择多行和多列的方法:
print (df.iloc[[3,0], [3,0]])
D A
13 7 d
10 1 a