zoukankan      html  css  js  c++  java
  • pandas中三种索引方式(.loc.iloc.ix)

    pandas中索引的使用
    定义一个pandas的DataFrame对像

    import pandas as pd
    data = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]},index=["a","b","c"])
    data

    output

        A   B   C
    a   1   4   7
    b   2   5   8
    c   3   6   9




    .loc 的使用

    .loc[],中括号里面是先行后列,以逗号分割,行和列分别是行标签和列标签,比如我要得到数字5,那么就就是:

    data.loc["b","B"]


    因为行标签为b,列标签为B,同理,那么4就是data[“a”,”B”]
    上面只是选择某一个值,那么如果我要选择一个区域呢,比如我要选择5,8,6,9,那么可以这样做:

    data.loc['b':'c','B':'C']



    因为选择的区域,左上角的值是5,右下角的值是9,那么这个矩形区域的值就是这两个坐标之间,也就是对应5的行标签到9的行标签,5的列标签到9的列标签,行列标签之间用逗号隔开,行标签与行标签之间,列标签与列标签之间用冒号隔开,记住,.loc是用行列标签来进行选择数据的。那么,我们会想,那我们只知道要第几行,第几列的数据呢,这该怎么办,刚好,.iloc就是干这个事的
    .iloc

    .iloc[]与loc一样,中括号里面也是先行后列,行列标签用逗号分割,与loc不同的之处是,.iloc 是根据行数与列数来索引的,比如上面提到的得到数字5,那么用iloc来表示就是data.iloc[1,1],因为5是第2行第2列,注意索引从0开始的,同理4就是data.iloc[0,1],同样如果我们需要选择一个区域,比如我要选择5,8,6,9,那么用,iloc来选择就是

    data.iloc[1:3,1:3]


    因为5在第二行第二列,9在第三行第三列,注意此处区间前闭后开,所以是1:3,与loc不同的是loc前闭后闭,以及loc是根据行列标签,而.iloc是根据行数与列数
    .ix

    .ix我发现,上面两种用法他都可以,它既可以根据行列标签又可以根据行列数,比如拿到5

    data.ix[1,1]
    data.ix["b","B"]


    上面两种做法都可以的,同理选择一个区域

    data.ix[1:3,1:3]
    data.ix['b':'c','B':'C']

     

    以上两种方法都是取到5,6,8,9
    ————————————————
    版权声明:本文为CSDN博主「ML_BOY」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq1483661204/article/details/77587881

    never give up
  • 相关阅读:
    python基础
    HTTP长连接和短连接及应用情景
    HTTP和HTTPS的区别
    python---重建二叉树
    python---替换空格
    python---二维数组的查找
    python---从尾到头打印链表
    python---反转链表
    python---两个栈实现一个队列
    python---二分查找的实现
  • 原文地址:https://www.cnblogs.com/noncoretime/p/12968564.html
Copyright © 2011-2022 走看看