转载自「python」DataFrame中loc、iloc、ix的区别
在使用DataFrame数据类型的过程中,常要使用到iloc、loc、ix,总结一下三者的不同
import pandas as pd
data = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]})
生成的data如下:
index | A | B | C |
---|---|---|---|
0 | 1 | 4 | 7 |
1 | 2 | 5 | 8 |
2 | 3 | 6 | 9 |
.loc[ ]中括号里面是先行后列,以逗号分隔,行和列分别是行标签和列标签,比如我要得到数字5,那么:
data.loc[1,'B']
data.loc[1:2,'B':'C']
总结:使用loc 时候,必须使用行或者列的name,如果行或列没有name,则可以使用其索引值,可以单独取值,可以做切片操作
同loc一样,先行后列,不过不能使用行标签,只能使用行索引,和列索引来取数,或者进行切片操作,同样想取出5 的话,只能
data.iloc[1,1]
注意:
data.iloc[1:2,:]
切片data.iloc[1:2,:] 只能取出来行索引为1的行,而不能取2,
切片data.loc[1:2,:] 可以取出行索引为1,2的行
总结:使用iloc 时候,必须使用行或者列的索引,另外注意切片与loc的区别