Indexing 在重置索引后,将添加1列

Indexing 在重置索引后,将添加1列,indexing,pandas,reset,Indexing,Pandas,Reset,如何在不获取额外列的情况下重置数据帧的索引? 我尝试了这里给出的答案,但它删除了原始索引。我希望原始索引保留在df中 >>> df=pd.DataFrame([[1,2],[3,5]],columns=['a','b'],index=[12,13]) >>> df a b 12 1 2 13 3 5 >>> df.reset_index(inplace=True) >>> df index a b

如何在不获取额外列的情况下重置数据帧的索引? 我尝试了这里给出的答案,但它删除了原始索引。我希望原始索引保留在df中

>>> df=pd.DataFrame([[1,2],[3,5]],columns=['a','b'],index=[12,13])
>>> df
    a  b
12  1  2
13  3  5
>>> df.reset_index(inplace=True)
>>> df
   index  a  b
0     12  1  2
1     13  3  5

>>> df=pd.DataFrame([[1,2],[3,5]],columns=['a','b'],index=[12,13])
>>> df.reset_index(inplace=True,drop=True)
>>> df
   a  b
0  1  2
1  3  5

我不知道你想要什么。您似乎在说您想要一个新索引,保留旧索引,但不要将旧索引保留为新列。我不知道那是什么意思

如果您只想在数据框中创建一个没有额外列的新索引

df.index = range(len(df))
如果您只想将当前索引弹出到数据帧中,但同时保持当前索引不变

df['index'] = df.index
如果您想将旧索引放入数据框并创建新索引,但在道义上强烈反对使用pandas.DataFrame.reset_index(),那么您可以尝试以下方法

df['old_index'] = df.index
df.index = range(len(df))

抱歉,您想要什么,不清楚为什么要重置索引,但不希望索引再次从0开始?@Edchum抱歉,我只使用熊猫一个月。我正在使用多列索引/多索引。我需要根据其中一个索引列的值筛选出一些行。我认为熊猫在索引列上不允许这样做。所以我使用重置并将其重新设置。我需要这些索引值再次计算。我担心的是重置是添加列,使数据更大。不允许这样做,但您的示例数据不能代表您的实际问题,请发布具有代表性的输入数据、代码和所需的输出。我将在明天之前拿出示例代码和数据发布到这里。谢谢