用法:
DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
重置索引,或它的一个级别。
重置 DataFrame 的索引,并使用默认索引。如果 DataFrame 有 MultiIndex,则此方法可以删除一个或多个级别。
- level:int, str, tuple, or list, 默认无
仅从索引中删除给定的级别。默认情况下删除所有级别。
- drop:布尔值,默认为 False
不要尝试将索引插入 DataFrame 列。这会将索引重置为默认整数索引。
- inplace:布尔值,默认为 False
就地修改 DataFrame(不要创建新对象)。
- col_level:int 或 str,默认为 0
如果列有多个级别,则确定标签插入到哪个级别。默认情况下,它被插入到第一级。
- col_fill:对象,默认 ''
如果列具有多个级别,则确定其他级别的命名方式。如果 None 则重复索引名称。
- DataFrame 或无
具有新索引的 DataFrame 或 None 如果
inplace=True
。
参数:
返回:
例子:
>>> 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_speed falcon bird 389.0 parrot bird 24.0 lion mammal 80.5 monkey mammal NaN
当我们重置索引时,旧索引作为列添加,并使用新的顺序索引:
>>> df.reset_index() index class max_speed 0 falcon bird 389.0 1 parrot bird 24.0 2 lion mammal 80.5 3 monkey mammal NaN
我们可以使用
drop
参数来避免将旧索引添加为列:>>> df.reset_index(drop=True) class max_speed 0 bird 389.0 1 bird 24.0 2 mammal 80.5 3 mammal NaN
您还可以将
reset_index
与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 type class name bird falcon 389.0 fly parrot 24.0 fly mammal lion 80.5 run monkey NaN jump
如果索引有多个级别,我们可以重置其中的一个子集:
>>> df.reset_index(level='class') class speed species max type name falcon bird 389.0 fly parrot bird 24.0 fly lion mammal 80.5 run monkey mammal NaN jump
如果我们不删除索引,默认情况下,它被放置在顶层。我们可以把它放在另一个层次:
>>> df.reset_index(level='class', col_level=1) speed species class max type name falcon bird 389.0 fly parrot bird 24.0 fly lion mammal 80.5 run monkey mammal NaN jump
当索引插入到另一个级别下时,我们可以使用参数
col_fill
指定在哪一个下:>>> df.reset_index(level='class', col_level=1, col_fill='species') species speed species class max type name falcon bird 389.0 fly parrot bird 24.0 fly lion mammal 80.5 run monkey mammal NaN jump
如果我们为
col_fill
指定不存在的级别,则会创建它:>>> df.reset_index(level='class', col_level=1, col_fill='genus') genus speed species class max type name falcon bird 389.0 fly parrot bird 24.0 fly lion mammal 80.5 run monkey mammal NaN jump
相关用法
- Python pandas.DataFrame.resample用法及代码示例
- Python pandas.DataFrame.rename用法及代码示例
- Python pandas.DataFrame.rename_axis用法及代码示例
- Python pandas.DataFrame.reorder_levels用法及代码示例
- Python pandas.DataFrame.replace用法及代码示例
- Python pandas.DataFrame.reindex用法及代码示例
- Python pandas.DataFrame.reindex_like用法及代码示例
- Python pandas.DataFrame.radd用法及代码示例
- Python pandas.DataFrame.rank用法及代码示例
- Python pandas.DataFrame.rolling用法及代码示例
- Python pandas.DataFrame.round用法及代码示例
- Python pandas.DataFrame.rdiv用法及代码示例
- Python pandas.DataFrame.rtruediv用法及代码示例
- Python pandas.DataFrame.rmod用法及代码示例
- Python pandas.DataFrame.rsub用法及代码示例
- Python pandas.DataFrame.rpow用法及代码示例
- Python pandas.DataFrame.rfloordiv用法及代码示例
- Python pandas.DataFrame.rmul用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.reset_index。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。