0
0 комментариев

Нужно загрузить из таблицы данные и удалить столбцы, которые содержат значение Nan. Вот мой код:

import pandas
import numpy as np
 
data = pandas.read_csv('TrueOrFalse.csv')
 
X = np.array([data['1'], data['2'], data['3'], data['4']])
 
for i in X[2]:
    if np.isnan(X[2][i]) == 'true':
        X[0][i] = X[0][i+1]
        X[1][i] = X[1][i+1]
        X[2][i] = X[2][i+1]
        X[3][i] = X[3][i+1]
    else:
        i += 1

Выдает ошибку:

IndexError                                Traceback (most recent call last)
    <ipython-input-70-d2187077755d> in <module>()
         11
         12 for i in X[2]:
    ---> 13     if np.isnan(X[2][i]) == 'true':
         14         X[0][i] = X[0][i+1]
         15         X[1][i] = X[1][i+1]
 
    IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

Решение: data = data.dropna(). Через цикл можно и не перебирать массив, легче загрузить данные из заранее отсортированного DataFrame.


Добавить комментарий