本文共 4256 字,大约阅读时间需要 14 分钟。
DataFrame.
reset_index
( level=None, drop=False, inplace=False, col_level=0, col_fill='' ) For DataFrame with multi-level index, return new DataFrame with labeling information in the columns under the index names, defaulting to ‘level_0’, ‘level_1’, etc. if any are None. For a standard index, the index name will be used (if set), otherwise a default ‘index’ or ‘level_0’ (if ‘index’ is already taken) will be used.
Parameters: | level : int, str, tuple, or list, default None
drop : boolean, default False
inplace : boolean, default False
col_level : int or str, default 0
col_fill : object, default ‘’
|
---|---|
Returns: | resetted : DataFrame |
Examples
>>> df = pd.DataFrame([('bird', 389.0),... ('bird', 24.0),... ('mammal', 80.5),... ('mammal', np.nan)],... index=['falcon', 'parrot', 'lion', 'monkey'],... columns=('class', 'max_speed'))>>> df class max_speedfalcon bird 389.0parrot bird 24.0lion mammal 80.5monkey mammal NaN
When we reset the index, the old index is added as a column, and a new sequential index is used:
>>> df.reset_index() index class max_speed0 falcon bird 389.01 parrot bird 24.02 lion mammal 80.53 monkey mammal NaN
We can use the drop parameter to avoid the old index being added as a column:
>>> df.reset_index(drop=True) class max_speed0 bird 389.01 bird 24.02 mammal 80.53 mammal NaN
You can also use reset_index with MultiIndex.
>>> index = pd.MultiIndex.from_tuples([('bird', 'falcon'),... ('bird', 'parrot'),... ('mammal', 'lion'),... ('mammal', 'monkey')],... names=['class', 'name'])>>> columns = pd.MultiIndex.from_tuples([('speed', 'max'),... ('species', 'type')])>>> df = pd.DataFrame([(389.0, 'fly'),... ( 24.0, 'fly'),... ( 80.5, 'run'),... (np.nan, 'jump')],... index=index,... columns=columns)>>> df speed species max typeclass namebird falcon 389.0 fly parrot 24.0 flymammal lion 80.5 run monkey NaN jump
If the index has multiple levels, we can reset a subset of them:
>>> df.reset_index(level='class') class speed species max typenamefalcon bird 389.0 flyparrot bird 24.0 flylion mammal 80.5 runmonkey mammal NaN jump
If we are not dropping the index, by default, it is placed in the top level. We can place it in another level:
>>> df.reset_index(level='class', col_level=1) speed species class max typenamefalcon bird 389.0 flyparrot bird 24.0 flylion mammal 80.5 runmonkey mammal NaN jump
When the index is inserted under another level, we can specify under which one with the parameter col_fill:
>>> df.reset_index(level='class', col_level=1, col_fill='species') species speed species class max typenamefalcon bird 389.0 flyparrot bird 24.0 flylion mammal 80.5 runmonkey mammal NaN jump
If we specify a nonexistent level for col_fill, it is created:
>>> df.reset_index(level='class', col_level=1, col_fill='genus') genus speed species class max typenamefalcon bird 389.0 flyparrot bird 24.0 flylion mammal 80.5 runmonkey mammal NaN jump
转载地址:http://wucmx.baihongyu.com/