Функция удаления панд дает больше строк - PullRequest
0 голосов
/ 21 ноября 2018

Исходный df имеет 100000 строк, и у меня есть список индексов, который необходимо удалить из df здесь.

Этот список содержит 27346 строк, поэтому предполагается, что df будет иметь (100000-27346) строк после выполнения удаления индексафункция, но он имеет 72852 строк, и это больше, чем ожидалось.

len(df) = 100000
len(index_list) = 27346
df_new = df.drop(index_list)
len(df_new) = 72852
len(df) - len(index_list) = 72654

Любой совет будет оценен. Спасибо.

1 Ответ

0 голосов
/ 21 ноября 2018

Ваш тест некорректен.Рассмотрим случай, когда index_list = [1] * 237346 и индекс 1 принадлежат вашему входному фрейму данных.Тогда у вас есть:

len(df) - len(index_list)  # 72654
len(df)                    # 100000
len(df_new)                # 99999

Убедитесь, что ваш index_list уникален с помощью (например) index_list = list(set(index_list)) и, конечно, чтобы ваши тесты выстроились в линию, вы должны убедиться, что индексы действительно существуют в вашем фрейме данныхкак уникальные идентификаторы.

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