18分钟
索引和轴的变换1
1. 重新索引:Series/DataFrame.reindex(index=None, **kwargs)
:
index
:一个array-like
对象,给出了新的index
的label
method
:当新的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
序列,代表要被丢弃的label
axis
:一个整数,或者轴的名字。默认为 0 轴level
:一个整数或者level
名字,用于MultiIndex
。因为可能在多个level
上都有同名的label
。inplace
:一个布尔值。如果为True
,则原地修改并且返回None
errors
:可以为'ignore'/'raise'
学员评价