用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。