重新索引数据框

23 投票
1 回答
31496 浏览
提问于 2025-04-17 19:56

我有一个数据框(data frame)。然后我用一个逻辑条件来创建另一个数据框,通过删除一些行来实现。不过,新的数据框在删除的行的索引上会跳过,导致索引不连续。我想知道怎么才能让它重新按顺序编号,不跳过索引?下面是一个示例代码来说明这个问题:

import pandas as pd
import numpy as np

jjarray = np.array(range(5))
eq2 = jjarray == 2
neq2 = np.logical_not(eq2)

jjdf = pd.DataFrame(jjarray)
jjdfno2 = jjdf[neq2]

jjdfno2

输出结果:

  0
0 0
1 1
3 3
4 4

我希望它看起来像这样:

  0
0 0
1 1
2 3
3 4

谢谢。

1 个回答

42

一种方法是使用 reset_index

>>> df = pd.DataFrame(range(5))
>>> eq2 = df[0] == 2
>>> df_no_2 = df[~eq2]
>>> df_no_2
   0
0  0
1  1
3  3
4  4
>>> df_no_2.reset_index(drop=True)
   0
0  0
1  1
2  3
3  4

撰写回答