Подтвердить что ты не робот

Переиндексация данных

У меня есть кадр данных. Тогда у меня есть логическое условие, в котором я создаю другой фрейм данных, удаляя некоторые строки. Однако новый кадр данных пропускает индексы для удаленных строк. Как я могу заставить его повторно индексировать последовательно, не пропуская? Здесь образец, закодированный для уточнения

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

Спасибо.

4b9b3361

Ответ 1

Один из способов - использовать 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