pandas.Series.reset_index # 系列。reset_index ( level = None , * , drop = False , name = _NoDefault.no_default , inplace = False , allowed_duplicates = False ) [来源] # 生成一个新的 DataFrame 或 Series 并重置索引。 当索引需要被视为列时,或者当索引没有意义并且需要在其他操作之前重置为默认值时,这非常有用。 参数: level int、str、tuple 或 list,默认可选对于具有多重索引的系列,仅从索引中删除指定的级别。默认删除所有级别。 drop bool, 默认 False只需重置索引,而不将其作为新 DataFrame 中的列插入。 名称对象,可选用于包含原始系列值的列的名称。self.name默认使用。当drop为 True时,该参数将被忽略。 inplace布尔值,默认 False就地修改系列(不创建新对象)。 allowed_duplicates bool, 默认 False允许创建重复的列标签。 1.5.0 版本中的新增内容。 返回: 系列或数据框或无当drop为 False(默认值)时,返回一个 DataFrame。新创建的列将首先出现在 DataFrame 中,然后是原始系列值。当drop为 True 时,返回一个Series 。无论哪种情况,如果inplace=True,都不会返回任何值。 也可以看看 DataFrame.reset_indexDataFrame 的类似功能。 例子 >>> s = pd.Series([1, 2, 3, 4], name='foo', ... index=pd.Index(['a', 'b', 'c', 'd'], name='idx')) 生成具有默认索引的 DataFrame。 >>> s.reset_index() idx foo 0 a 1 1 b 2 2 c 3 3 d 4 要指定新列的名称,请使用name。 >>> s.reset_index(name='values') idx values 0 a 1 1 b 2 2 c 3 3 d 4 要生成一个新系列,默认设置应设为 True。 >>> s.reset_index(drop=True) 0 1 1 2 2 3 3 4 Name: foo, dtype: int64 level参数对于具有多级索引的 Series 很有趣。 >>> arrays = [np.array(['bar', 'bar', 'baz', 'baz']), ... np.array(['one', 'two', 'one', 'two'])] >>> s2 = pd.Series( ... range(4), name='foo', ... index=pd.MultiIndex.from_arrays(arrays, ... names=['a', 'b'])) 要从索引中删除特定级别,请使用level。 >>> s2.reset_index(level='a') a foo b one bar 0 two bar 1 one baz 2 two baz 3 如果未设置级别,则将从索引中删除所有级别。 >>> s2.reset_index() a b foo 0 bar one 0 1 bar two 1 2 baz one 2 3 baz two 3