У меня большой фрейм данных, по крайней мере, 500 строк и 60 столбцов. Давайте назовем это df1
. В некоторых ячейках есть NaN
, которые я обычно использовал
df2 = df1.fillna(value = 0.0)
чтобы заменить их всего одной строкой кода.
Но это с гораздо, намного меньшими фреймами данных, где это работало в прошлом, и я хотел бы реализовать тот же шаг для больших объемов данных в будущем. Использование вышеупомянутой команды выходит за пределы моего предела рекурсии. Я также пытался увеличить предел рекурсии, и в результате моя программа зависала.
Мой начальный предел рекурсии:
sys.getrecursionlimit()
1000
Затем увеличиваем его с
sys.setrecursionlimit(10000)
и запуск fillna()
впоследствии приводит к сбою моей программы.
Чтобы обойти рекурсию и, скорее, заставить эту команду работать итеративно, я создал этот цикл:
for index, row in sdd_root_excel.iterrows():
if(pd.isnull(row[index])):
sdd_root_excel.iloc[index].fillna(0)
Но я получаю сообщение об ошибке, которое, по моей интерпретации, похоже на то, что оно говорит о том, что индекс (который равен 711?) Выходит за границы, и он также интерпретируется как KeyError:
Traceback (most recent call last):
File "C:\Users\isabel.wingert\Anaconda3\lib\site-packages\pandas\core\indexes\base.py", line 3103, in get_value
tz=getattr(series.dtype, 'tz', None))
File "pandas\_libs\index.pyx", line 106, in pandas._libs.index.IndexEngine.get_value
File "pandas\_libs\index.pyx", line 114, in pandas._libs.index.IndexEngine.get_value
File "pandas\_libs\index.pyx", line 162, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\hashtable_class_helper.pxi", line 1492, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas\_libs\hashtable_class_helper.pxi", line 1500, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 711
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "C:\Users\isabel.wingert\Anaconda3\lib\site-packages\pandas\core\series.py", line 766, in __getitem__
result = self.index.get_value(self, key)
File "C:\Users\isabel.wingert\Anaconda3\lib\site-packages\pandas\core\indexes\base.py", line 3109, in get_value
return libindex.get_value_box(s, key)
File "pandas\_libs\index.pyx", line 55, in pandas._libs.index.get_value_box
File "pandas\_libs\index.pyx", line 70, in pandas._libs.index.get_value_box
IndexError: index out of bounds
Нужно ли исправить мой цикл или попробовать что-нибудь еще?