pandas.DataFrame 索引方法区别

有三种索引: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 文档。

posted @ 2017-07-30 12:50  willowj  阅读(3324)  评论(0编辑  收藏  举报