2017-01-25 22 views

回答

3

簡短說明

考慮數據框df

df = pd.DataFrame(
    np.arange(16).reshape(4, 4), 
    list('wxyz'), list('abcd')) 

    a b c d 
w 0 1 2 3 
x 4 5 6 7 
y 8 9 10 11 
z 12 13 14 15 
  • iloc是基於序號位置索引

    df.iloc[[0, 3], [1, 2]] 
    
        b c 
    w 1 2 
    z 13 14 
    
  • loc是基於標籤索引

    df.loc[['z', 'x'], ['b', 'c']] 
    
        b c 
    z 13 14 
    x 5 6 
    
  • ix嘗試是聰明的,並找出你所需要的,但有時是混亂的,最重要的將被淘汰,不應該被使用!

3

您可以檢查docs

支持混合整數和標籤的訪問。它主要是基於標籤的,但是會回退到整數位置訪問,除非相應的軸是整數類型。 .ix是最一般的,並且將支持在.loc.iloc中的任何輸入。 .ix也支持浮點標籤方案。 .ix在處理基於混合位置和標籤的分層索引時非常有用。

然而,當軸線基於整型,ONLY 基於標籤訪問而不是位置訪問被支持。因此,在這種情況下,通常更好的做法是明確並使用.iloc.loc