我有一个数据框。然后我有一个逻辑条件,通过删除一些行我创建另一个数据框。但是,新数据框会跳过已删除行的索引。如何在不跳过的情况下顺序重新索引?这是一个编码的示例以澄清
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
感谢。
答案 0 :(得分:39)
一种方法是使用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