Ключевая ошибка после удаления нулевых значений во фрейме данных pandas

#pandas

#pandas

Вопрос:

У меня есть простой фрейм данных как :

 0   1   2   3
1   NaN like    dislike
2   Cow dog snail
  

После удаления значения nan фрейм данных :

 0   1   2   3
2   Cow dog snail
  

Теперь, когда я пытаюсь выполнить следующий код для печати значений, он выдает ошибку ключа :

 for i in range(len(data)):
    print(data.loc[i,:])
  

Любая помощь будет оценена.

Комментарии:

1. Не machine-learning вопрос, пожалуйста, не спамите нерелевантные теги (удалены).

Ответ №1:

Пожалуйста, добавьте следующую строку после удаления значений nan:

 data = data.reset_index(drop=True)
  

Ответ №2:

Вы удаляете значение с определенным индексом, в котором после удаления значений NA больше не будет существовать. В вашем конкретном случае индекс 1 будет удален, и вы не сможете выполнить итерацию вашего фрейма данных len . Я настоятельно рекомендую вам использовать iterrows вместо этого, поскольку это лучшая форма. Пример:

 for index, value in mydataframe.iterrows():
    print(index, " ",  value)
    # 2 
    # 1    Cow
    # 2    dog
    # 3    snail
  

Значение относится к классу 'pandas.core.series.Series' , который в вашем случае функционирует во многом как словарь. Обратите внимание на имена столбцов, которые в точности совпадают с именами в вашем примере.