有三种索引:ix,iloc,loc;
使用方法都是 __.ix[row, column]
需要注意的差别是:
1,loc方法 按照标签; iloc方法 按照 位置下标(必须是整数)。
2,ix方法 混合标签索引和位置下标 ,先考虑是否是在标签索引中,然后考虑是位置下标。
如果是整数作为标签(默认0~n-1),ix就按照 标签选取,不再考虑下标。
3,都支持切片,切片也可以 超出范围;单个取值超出范围都会报错
但是,单个赋值的时候,ix方法可以选择不在 index 内的值,类似字典的方式新建一个标签行或列。
一般情况最好明确使用标签还是位置,即使用loc、iloc。
一方面是意思明确,另一方面是ix选取的时候会复制对象,这会影响效率;如果是赋值给了另外的变量,那么新变量的操作不影响到原来的数据。
使用loc,iloc选择的结果是一个视图,赋值给别的变量后,变量的改动会互相影响。
而创建新的变量最好显式使用copy方法。
详见 pandas 文档。