Я пытаюсь удалить несколько строк из огромного набора данных в Пандах. Я решил использовать функцию iterrows () для поиска индексов для удаления (поскольку я знаю, что удаление во время итерации - плохая идея).
Прямо сейчас это выглядит так:
list_to_delete = []
rows_to_delete = {}
for index, row in train.iterrows():
if <some conditions>:
list_to_delete.append(int(index))
rows_to_delete[int(index)] = row
train = train.drop([train.index[i] for i in list_to_delete])
Это дает мне такую ошибку:
Traceback (most recent call last):
File "C:/Users/patka/PycharmProjects/PARSER/getStatistics.py", line 115, in <module>
train = train.drop([train.index[i] for i in list_to_delete])
File "C:/Users/patka/PycharmProjects/PARSER/getStatistics.py", line 115, in <listcomp>
train = train.drop([train.index[i] for i in list_to_delete])
File "C:\Users\patka\PycharmProjects\PARSER\venv\lib\site-packages\pandas\core\indexes\base.py", line 3958, in __getitem__
return getitem(key)
IndexError: index 25378 is out of bounds for axis 0 with size 25378
Как это возможно?
Перед этим я создал копию этого набора данных и попытался удалить выбранные строки из этой копии, повторяя при этом исходную (с inplace = True). К сожалению, произошла ошибка, указав, что объект NoneType не имеет атрибута drop.
Буду очень признателен за вашу помощь.
Мой пример строки выглядит так:
resolution Done
priority Major
created 2000-07-04T13:13:52.000+0200
status Resolved
Team XBee
changelog {'Team" : {'from':...