Панды извлекают строки в зависимости от условия, но сохраняют старый индекс строки - PullRequest
0 голосов
/ 08 мая 2019

При извлечении строк на основе определенных условий я теряю старые индексы строк.

У меня есть фрейм данных pandas со столбцом с числовыми значениями, и я извлекаю все строки на основе следующего условия:

df = df.loc[df['column_name'] <= 1]

Извлечение прошло успешно, за исключением того, что новый фрейм данных теперь имеет новые индексы строк.

Как мне сохранить старые индексы?

1 Ответ

3 голосов
/ 08 мая 2019

Я только что попытался воспроизвести ваш вопрос.Я полагаю, что вы пытаетесь сделать что-то вроде ниже

df = pd.DataFrame({'column_name':[1,2,3,1,2,3,1,1,0,1]})
df.head(10)

, которое выдает результат вроде ниже

 column_name
0   1
1   2
2   3
3   1
4   2
5   3
6   1
7   1
8   0
9   1

Как только я запустил предложенный вами код df = df.loc[df['column_name']<=1], я получил это с помощью df.head(10)

column_name
0   1
3   1
6   1
7   1
8   0
9   1

, который, кажется, имеет более старые показатели.В пандах вам нужно сбросить индексы, чтобы получить новый, иначе это не произойдет автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...