2. loc/iloc/ix 存取器

  1. 对于Series.loc[]的下标对象可以为:

    • 单个label,此时返回对应的值
    • labelarray-likelabel slice以及布尔array-like:返回对应值组成的Series

    series_loc

  2. 对于DataFrame.loc[]的下标对象是一个元组,其中两个元素分别与DataFrame的两个轴对应。如果下标不是元组,则该下标对应的是第0轴,第一轴为默认值:

    • 每个轴的下标都支持单个labellabel array-likelabel slice、布尔array-like
    • 若获取的是某一列或者某一行,则返回的是Series;若返回的是多行或者多列,则返回的是DataFrame;如果返回的是某个值,则是普通的标量。

    select_loc_df1 select_loc_df2

  3. .iloc[].loc[]类似,但是.iloc[]使用整数下标,而不是使用label

    • 注意整数切片不包括最后一个值。

    select_iloc1 select_iloc2

  4. .ix[]存取器综合了.iloc/.loc:它可以混合使用label和位置下标

    • 注意:如果有整数索引,则应该使用.loc/.iloc从而避免混淆

    select_ix1 select_ix2

  5. Index对象不能使用loc/iloc/ix存取器

  6. 对于.loc/.iloc/.ix:如果某轴的索引为array-like或者布尔array-like,则返回的结果与原来的对象不再共享基础数据。如果轴的索引全部都是slice或者单个整数、单个label,则返回的结果与原来的对象共享基础数据。 select_data_share