课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
18分钟

索引和轴的变换1

1. 重新索引:Series/DataFrame.reindex(index=None, **kwargs)

  • index:一个array-like对象,给出了新的indexlabel
  • method:当新的label的值缺失时,如何处理。参数值可以为:
    • None:不做任何处理,缺失地方填充NaN
    • 'backfill'/'bfill':用下一个可用的值填充该空缺(后向填充)
    • 'pad'/'ffill':用上一个可用的值填充该空缺(前向填充)
    • 'nearest':用最近的可用值填充该空缺
  • copy:一个布尔值,如果为True,则返回一个新的Series对象(即使传入的index与原来的index相同)
  • level:一个整数或者name,在MultiIndex的指定级别上匹配简单索引
  • fill_value:一个标量。指定缺失值的填充数据,默认为NaN(如果该参数与method同时出现,则以method为主)
  • limit:一个整数,指定前向/后向填充时:如果有连续的kNaN,则只填充其中limit个。它与method配合
  • tolerance:一个整数,用于给出在不匹配时,连续采用前向/后向/最近邻匹配的跨度的最大值。它与method配合

对于DataFrame,多了关键字参数:

  • columns:一个array-like对象,给出了新的columnslabel

对于DataFrame,如果.reindex()只传入一个序列,则默认会重索引行label。如果同时重索引行label和列label,则method插值只能按照行来进行(即 0 轴)

2. 将列数据变成行索引(只对DataFrame有效,因为Series没有列索引),其中:col label变成index name,列数据变成行label

 DataFrame.set_index(keys, drop=True, append=False, inplace=False, 
  verify_integrity=False)

3. reset_index会将层次化的行index转移到列中,成为新的一列。同时index 变成一个整数型的,从0开始编号:

 DataFrame.reset_index(level=None, drop=False, inplace=False, 
  col_level=0, col_fill='')
  Series.reset_index(level=None, drop=False, name=None, inplace=False)

4. 丢弃某条轴上的一个或者多个labelSeries/DataFrame.drop(labels[, axis, level, inplace, errors]):

  • labels:单个label或者一个label序列,代表要被丢弃的label
  • axis:一个整数,或者轴的名字。默认为 0 轴
  • level:一个整数或者level名字,用于MultiIndex。因为可能在多个level上都有同名的label
  • inplace:一个布尔值。如果为True,则原地修改并且返回None
  • errors:可以为'ignore'/'raise'