18分钟
索引和轴的变换1
1. 重新索引:Series/DataFrame.reindex(index=None, **kwargs):
index:一个array-like对象,给出了新的index的labelmethod:当新的label的值缺失时,如何处理。参数值可以为:None:不做任何处理,缺失地方填充NaN'backfill'/'bfill':用下一个可用的值填充该空缺(后向填充)'pad'/'ffill':用上一个可用的值填充该空缺(前向填充)'nearest':用最近的可用值填充该空缺
copy:一个布尔值,如果为True,则返回一个新的Series对象(即使传入的index与原来的index相同)level:一个整数或者name,在MultiIndex的指定级别上匹配简单索引fill_value:一个标量。指定缺失值的填充数据,默认为NaN(如果该参数与method同时出现,则以method为主)limit:一个整数,指定前向/后向填充时:如果有连续的k个NaN,则只填充其中limit个。它与method配合tolerance:一个整数,用于给出在不匹配时,连续采用前向/后向/最近邻匹配的跨度的最大值。它与method配合
对于DataFrame,多了关键字参数:
columns:一个array-like对象,给出了新的columns的label
对于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. 丢弃某条轴上的一个或者多个label:Series/DataFrame.drop(labels[, axis, level, inplace, errors]):
labels:单个label或者一个label序列,代表要被丢弃的labelaxis:一个整数,或者轴的名字。默认为 0 轴level:一个整数或者level名字,用于MultiIndex。因为可能在多个level上都有同名的label。inplace:一个布尔值。如果为True,则原地修改并且返回Noneerrors:可以为'ignore'/'raise'
学员评价