iloc,loc,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
生成的data,如下:
index | A | B | C |
---|---|---|---|
0 | 1 | 4 | 7 |
1 | 2 | 5 | 8 |
2 | 3 | 6 | 9 |
loc的使用
1.取值操作
.loc[ ]中括号里面是先行后列,以逗号分隔,行和列分别是行标签和列标签,比如我要得到数字5,那么:
data.loc[1,'B']
- 如果这个DataFrame有index 值的话,也可以将index值放在第一个参数位,比如index=[a, b, c] ,那么 data.loc['b','B']也可以取出5
- 如果这个DataFrame的columns没有值得的话,data.loc[1,1]也可取出5
2.切片操作
data.loc[1:2,'B':'C']
- 总结:使用loc 时候,必须使用行或者列的name,如果行或列没有name,则可以使用其索引值,可以单独取值,可以做切片操作
iloc的使用
同loc一样,先行后列,不过不能使用行标签,只能使用行索引,和列索引来取数,或者进行切片操作,同样想取出5 的话,只能
data.iloc[1,1]
注意:
data.iloc[1:2,:]
切片data.iloc[1:2,:] 只能取出来行索引为1的行,而不能取2,
切片data.loc[1:2,:] 可以取出行索引为1,2的行
- 总结:使用iloc 时候,必须使用行或者列的索引,另外注意切片与loc的区别
ix的使用
好像据说最好别用,我也不知道。