pandas中 .loc() .iloc().ix()的区别

    xiaoxiao2025-01-05  56

    例子

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

    .loc()

    .loc[],中括号里面是先行后列,以逗号分割,行和列分别是行标签和列标签,比如我要得到数字1,那么就是: data.loc["a","A"] 如果我要选择一个区域呢,比如我要选择1,2,4,5,那么可以这样做

    data.loc['a':'b','A':'B']

    .iloc()

    .iloc[]与loc一样,中括号里面也是先行后列,行列标签用逗号分割,与loc不同的之处是,.iloc 是根据行数与列数来索引的,比如上面提到的得到数字1,那么用iloc来表示就是data.iloc[0,0],如果得到1 ,2,4,5 (记得矩阵中,[0:2] 取得是第0行和第1行)

    data.iloc[0:2,0:2]

    .ix()

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

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

    选择区域

    data.ix['a':'b','A':'B'] data.ix[0:2,0:2]
    最新回复(0)