Member 8840306 Ответов: 0

Введение итератора и размера фрагмента в pd.read_csv для тестовых данных


Я новичок в python. Я читал это Ядро каггла.
В этом ядре он использовал данные поезда с размером фрагмента 150_000
train = pd.read_csv('../input/train.csv', iterator=True, chunksize=150_000, dtype={'acoustic_data': np.int16, 'time_to_failure': np.float64})


Я визуализировал X_train(статистические функции) и y_train(заданное time_to_failure) с помощью python. Это дало мне хорошую визуализацию


train = pd.read_csv('../input/train.csv', iterator=True, chunksize=150_000, dtype={'acoustic_data': np.int16, 'time_to_failure': np.float64})

    X_train = pd.DataFrame()
    y_train = pd.Series()
    for df in train:
        ch = gen_features(df['acoustic_data'])
        X_train = X_train.append(ch, ignore_index=True)
        y_train = y_train.append(pd.Series(df['time_to_failure'].values[-1]))

   #Visulization function 
    plotstatfeature(X_train,y_train.to_numpy(dtype ='float32'))


Для тестовых данных постройте те же визуализации между X_test(статистические характеристики) и y_hat(вычисленное время to_failure), используя ту же функцию

submission = pd.read_csv('../input/sample_submission.csv', index_col='seg_id')
X_test = pd.DataFrame()

# prepare test data
for seg_id in submission.index:
    seg = pd.read_csv('../input/test/' + seg_id + '.csv')
    ch = gen_features(seg['acoustic_data'])
    X_test = X_test.append(ch, ignore_index=True)

X_test = scaler.transform(X_test)    
X_test = X_test.reshape(X_test.shape[0], X_test.shape[1], 1)
y_hat = model.predict(X_test)
submission['time_to_failure'] = y_hat
submission.to_csv('submission.csv')

#Visulization function 
plotstatfeature(X_test,y_hat.to_numpy(dtype ='float32'))


Вопрос 1:

Имеет ли смысл визуализировать X_test(статистические характеристики) и y_hat(вычисленное время to_failure)

Вопрос 2(главный вопрос):
Визуализация тестовых данных не так хороша, как данные поезда, потому что данные поезда считываются в чанках размером 150000, что дает четкую визуализацию, в то время как тестовые данные-это полные данные, которые дают более плотную неясную визуализацию. Как я могу преобразовать тестовые данные в тот же размер блока 150000 для той же равномерной визуализации, что и визуализация данных поезда?

Для преобразования тестовых данных в тот же размер блока 150000 я попытался изменить эту строку, введя в код итератор и размер блока

Первый случай:
submission = pd.read_csv('../input/sample_submission.csv', index_col='seg_id' , iterator=True, chunksize=150_000)


Но это дало мне эту ошибку
Цитата:
Обратная трассировка (самый недавний призыв последнего):

Файл "", строка 1, в runfile('D:/code.py', wdir='D:/')

Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", строка 827, в runfile execfile(имя файла, пространство имен)

Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py" строке 110, в execfile метод exec(компиляция(Ф.читать(), именем, 'метод exec'), пространства имен)

Файл "D:/code.py", строка 299, в основном()

Файл "D:/code.py", строка 239, в основном тесте(X_train, y_train)

Файл "D:/code.py", строка 168, в тесте для seg_id в представлении.index:

AttributeError: объект 'TextFileReader' не имеет атрибута 'index'



2-й случай

seg = pd.read_csv('test/' + seg_id + '.csv'  , iterator=True, chunksize=150000)



это дало мне эту ошибку

Цитата:
Обратная трассировка (самый недавний призыв последнего):

Файл "", строка 1, в runfile('D:/code.py', wdir='D:/')

Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", строка 827, в runfile execfile(имя файла, пространство имен)

Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py" строке 110, в execfile метод exec(компиляция(Ф.читать(), именем, 'метод exec'), пространства имен)

Файл "D:/code.py", строка 299, в основном()

Файл "D:/code.py", строка 239, в основном тесте(X_train, y_train)

Файл "D:/code.py", строка 170, in test ch = gen_features(seg['acoustic_data'])

TypeError: объект 'TextFileReader' не поддается подписке


Как я могу ввести chuncksize в тестовые данные ?

Что я уже пробовал:

Первый случай:
submission = pd.read_csv('../input/sample_submission.csv', index_col='seg_id' , iterator=True, chunksize=150_000)


Но это дало мне эту ошибку
Цитата:
Обратная трассировка (самый недавний призыв последнего):

Файл "", строка 1, в runfile('D:/code.py', wdir='D:/')

Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", строка 827, в runfile execfile(имя файла, пространство имен)

Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py" строке 110, в execfile метод exec(компиляция(Ф.читать(), именем, 'метод exec'), пространства имен)

Файл "D:/code.py", строка 299, в основном()

Файл "D:/code.py", строка 239, в основном тесте(X_train, y_train)

Файл "D:/code.py", строка 168, в тесте для seg_id в представлении.index:

AttributeError: объект 'TextFileReader' не имеет атрибута 'index'



2-й случай

seg = pd.read_csv('test/' + seg_id + '.csv'  , iterator=True, chunksize=150000)



это дало мне эту ошибку

Цитата:
Обратная трассировка (самый недавний призыв последнего):

Файл "", строка 1, в runfile('D:/code.py', wdir='D:/')

Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", строка 827, в runfile execfile(имя файла, пространство имен)

Файл "C:\Users\abc\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py" строке 110, в execfile метод exec(компиляция(Ф.читать(), именем, 'метод exec'), пространства имен)

Файл "D:/code.py", строка 299, в основном()

Файл "D:/code.py", строка 239, в основном тесте(X_train, y_train)

Файл "D:/code.py", строка 170, in test ch = gen_features(seg['acoustic_data'])

TypeError: объект 'TextFileReader' не поддается подписке


Как я могу ввести chuncksize в тестовые данные ?

Richard MacCutchan

Сообщения об ошибках достаточно ясны, вы не можете использовать индексы или индексы для объекта. Проверьте документацию для класса TextFileReader.

0 Ответов