使用布林索引訪問 DataFrame

這將是我們的示例資料框:

df = pd.DataFrame({"color": ['red', 'blue', 'red', 'blue']},
                  index=[True, False, True, False])
      color
True    red
False  blue
True    red
False  blue

訪問 .loc

df.loc[True]
     color
True   red
True   red

訪問 .iloc

df.iloc[True]
>> TypeError

df.iloc[1]
color    blue
dtype: object

需要注意的是,較舊的 pandas 版本沒有區分佈爾值和整數輸入,因此 .iloc[True] 將返回與 .iloc[1] 相同的值

訪問 .ix

df.ix[True]
     color
True   red
True   red

df.ix[1]
color    blue
dtype: object

如你所見,.ix 有兩種行為。這在程式碼中是非常糟糕的做法,因此應該避免。請使用 .iloc.loc 更明確。