Python 重新索引数据帧

Python 重新索引数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框。然后,我有一个逻辑条件,使用该条件通过删除一些行来创建另一个数据帧。然而,新的数据帧跳过删除行的索引。如何让它按顺序重新编制索引而不跳过?下面是一个示例代码,用于说明 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 = jjd

我有一个数据框。然后,我有一个逻辑条件,使用该条件通过删除一些行来创建另一个数据帧。然而,新的数据帧跳过删除行的索引。如何让它按顺序重新编制索引而不跳过?下面是一个示例代码,用于说明

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
2 3
3 4

谢谢。

一种方法是使用
重置索引

>>> 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

谢谢你,这正是我想要的。我相信你还需要指定
inplace=True
,否则
df\u no\u 2
不会受到影响,而是会创建一个新的数据框:
df\u no\u 2.reset\u index(drop=True,inplace=True)
(v0.15.2)通常你只需将结果分配给某个对象即可(例如,
df_no_2=df_no_2.reset_index(drop=True)
),就像大多数pandas操作一样。哇,到目前为止,我一直在删除带有reset_index的索引列。不知道drop=True会处理它。哇。
>>> 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