Скорее всего, это как-то связано с вашими данными, потому что когда я моделирую ваш сценарий, он работает нормально.
Попробуйте добавить оператор печати ваших данных перед итерацией, а также между итерациями.
Также for i in range(0, N-1):
необходимо изменить на for i in range(N):
.Использование N-1
пропустит последнюю итерацию.0
тоже не нужно.
data = {}
data['platelet'] = [float('nan'),float('nan'),float('nan'),float('nan'),float('nan')]
data['X'] = [1,2,3,4,5]
N = len(data['platelet'])
import math
for i in range(N):
if math.isnan(data['platelet'][i]):
data['platelet'][i] = data['X'][i]