使用布尔索引访问 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
更明确。